aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorjohannst <johannst@users.noreply.github.com>2024-12-07 01:01:45 +0000
committerjohannst <johannst@users.noreply.github.com>2024-12-07 01:01:45 +0000
commit5289cbf5331dfd0d0c2242a7e7c8030aa4032c7e (patch)
tree418e8eebbfe7129d5082efa730e161edd3743161
parent52a0308e18fbbec25f0e9f31ec8f11589a35f351 (diff)
downloadjuicebox-asm-5289cbf5331dfd0d0c2242a7e7c8030aa4032c7e.tar.gz
juicebox-asm-5289cbf5331dfd0d0c2242a7e7c8030aa4032c7e.zip
deploy: 9c3c3fd923d894d2351eb22129ea693eb98fa8ff
-rw-r--r--add/all.html3
-rw-r--r--add/index.html4
-rw-r--r--bf_vm/all.html1
-rw-r--r--bf_vm/index.html16
-rw-r--r--bf_vm/sidebar-items.js1
-rw-r--r--crates.js3
-rw-r--r--fib/all.html3
-rw-r--r--fib/index.html4
-rw-r--r--help.html3
-rw-r--r--juicebox_asm/all.html3
-rw-r--r--juicebox_asm/enum.MemOp.html31
-rw-r--r--juicebox_asm/enum.Reg16.html26
-rw-r--r--juicebox_asm/enum.Reg32.html26
-rw-r--r--juicebox_asm/enum.Reg64.html26
-rw-r--r--juicebox_asm/enum.Reg8.html26
-rw-r--r--juicebox_asm/index.html6
-rw-r--r--juicebox_asm/insn/index.html5
-rw-r--r--juicebox_asm/insn/sidebar-items.js2
-rw-r--r--juicebox_asm/insn/trait.Add.html7
-rw-r--r--juicebox_asm/insn/trait.Call.html5
-rw-r--r--juicebox_asm/insn/trait.Cmovnz.html5
-rw-r--r--juicebox_asm/insn/trait.Cmovz.html5
-rw-r--r--juicebox_asm/insn/trait.Cmp.html7
-rw-r--r--juicebox_asm/insn/trait.Dec.html7
-rw-r--r--juicebox_asm/insn/trait.Inc.html6
-rw-r--r--juicebox_asm/insn/trait.Jmp.html5
-rw-r--r--juicebox_asm/insn/trait.Jnz.html5
-rw-r--r--juicebox_asm/insn/trait.Jz.html5
-rw-r--r--juicebox_asm/insn/trait.Mov.html5
-rw-r--r--juicebox_asm/insn/trait.Pop.html5
-rw-r--r--juicebox_asm/insn/trait.Push.html5
-rw-r--r--juicebox_asm/insn/trait.Test.html5
-rw-r--r--juicebox_asm/insn/trait.Xor.html6
-rw-r--r--juicebox_asm/sidebar-items.js2
-rw-r--r--juicebox_asm/struct.Asm.html29
-rw-r--r--juicebox_asm/struct.Imm16.html23
-rw-r--r--juicebox_asm/struct.Imm32.html23
-rw-r--r--juicebox_asm/struct.Imm64.html23
-rw-r--r--juicebox_asm/struct.Imm8.html23
-rw-r--r--juicebox_asm/struct.Label.html25
-rw-r--r--juicebox_asm/struct.MemOp16.html13
-rw-r--r--juicebox_asm/struct.MemOp32.html13
-rw-r--r--juicebox_asm/struct.MemOp64.html13
-rw-r--r--juicebox_asm/struct.MemOp8.html13
-rw-r--r--juicebox_asm/struct.Runtime.html40
-rw-r--r--search-index.js8
-rw-r--r--search.desc/add/add-desc-0-.js1
-rw-r--r--search.desc/bf_vm/bf_vm-desc-0-.js1
-rw-r--r--search.desc/fib/fib-desc-0-.js1
-rw-r--r--search.desc/juicebox_asm/juicebox_asm-desc-0-.js1
-rw-r--r--search.desc/tiny_vm/tiny_vm-desc-0-.js1
-rw-r--r--settings.html3
-rw-r--r--src-files.js8
-rw-r--r--src/add/add.rs.html7
-rw-r--r--src/bf_vm/bf_vm.rs.html585
-rw-r--r--src/fib/fib.rs.html7
-rw-r--r--src/juicebox_asm/asm.rs.html281
-rw-r--r--src/juicebox_asm/imm.rs.html9
-rw-r--r--src/juicebox_asm/insn.rs.html33
-rw-r--r--src/juicebox_asm/insn/add.rs.html29
-rw-r--r--src/juicebox_asm/insn/call.rs.html7
-rw-r--r--src/juicebox_asm/insn/cmovnz.rs.html7
-rw-r--r--src/juicebox_asm/insn/cmovz.rs.html7
-rw-r--r--src/juicebox_asm/insn/cmp.rs.html19
-rw-r--r--src/juicebox_asm/insn/dec.rs.html55
-rw-r--r--src/juicebox_asm/insn/inc.rs.html77
-rw-r--r--src/juicebox_asm/insn/jmp.rs.html7
-rw-r--r--src/juicebox_asm/insn/jnz.rs.html7
-rw-r--r--src/juicebox_asm/insn/jz.rs.html7
-rw-r--r--src/juicebox_asm/insn/mov.rs.html7
-rw-r--r--src/juicebox_asm/insn/nop.rs.html7
-rw-r--r--src/juicebox_asm/insn/pop.rs.html7
-rw-r--r--src/juicebox_asm/insn/push.rs.html7
-rw-r--r--src/juicebox_asm/insn/ret.rs.html7
-rw-r--r--src/juicebox_asm/insn/test.rs.html7
-rw-r--r--src/juicebox_asm/insn/xor.rs.html17
-rw-r--r--src/juicebox_asm/label.rs.html7
-rw-r--r--src/juicebox_asm/lib.rs.html119
-rw-r--r--src/juicebox_asm/reg.rs.html11
-rw-r--r--src/juicebox_asm/rt.rs.html7
-rw-r--r--src/tiny_vm/tiny_vm.rs.html7
-rw-r--r--static.files/clipboard-7571035ce49a181d.svg1
-rw-r--r--static.files/favicon-16x16-8b506e7a72182f1c.pngbin715 -> 0 bytes
-rw-r--r--static.files/main-305769736d49e732.js11
-rw-r--r--static.files/main-f070b9041d14864c.js11
-rw-r--r--static.files/noscript-0111fcff984fae8f.css1
-rw-r--r--static.files/noscript-feafe1bb7466e4bd.css1
-rw-r--r--static.files/rustdoc-ac92e1bbe349e143.css18
-rw-r--r--static.files/rustdoc-b0742ba02757f159.css53
-rw-r--r--static.files/scrape-examples-46fc985aa763a438.js1
-rw-r--r--static.files/scrape-examples-ef1e698c1d417c0c.js1
-rw-r--r--static.files/search-2b6ce74ff89ae146.js5
-rw-r--r--static.files/search-f0d225181b97f9a4.js6
-rw-r--r--static.files/settings-805db61a62df4bd2.js (renamed from static.files/settings-4313503d2e1961c2.js)4
-rw-r--r--static.files/src-script-39ed315d46fb705f.js1
-rw-r--r--static.files/src-script-e66d777a5a92e9b2.js1
-rw-r--r--static.files/storage-1d39b6787ed640ff.js23
-rw-r--r--static.files/storage-f2adc0d6ca4d09fb.js1
-rw-r--r--static.files/wheel-7b819b6101059cd0.svg1
-rw-r--r--tiny_vm/all.html3
-rw-r--r--tiny_vm/enum.TinyInsn.html53
-rw-r--r--tiny_vm/enum.TinyReg.html29
-rw-r--r--tiny_vm/fn.make_tinyvm_fib.html3
-rw-r--r--tiny_vm/fn.make_tinyvm_jit_perf.html3
-rw-r--r--tiny_vm/fn.make_tinyvm_jit_test.html3
-rw-r--r--tiny_vm/index.html6
-rw-r--r--tiny_vm/struct.Fixup.html27
-rw-r--r--tiny_vm/struct.PhysAddr.html23
-rw-r--r--tiny_vm/struct.TinyVm.html33
-rw-r--r--trait.impl/core/clone/trait.Clone.js13
-rw-r--r--trait.impl/core/cmp/trait.PartialEq.js12
-rw-r--r--trait.impl/core/convert/trait.From.js12
-rw-r--r--trait.impl/core/convert/trait.Into.js12
-rw-r--r--trait.impl/core/fmt/trait.Debug.js12
-rw-r--r--trait.impl/core/marker/trait.Copy.js13
-rw-r--r--trait.impl/core/marker/trait.Freeze.js13
-rw-r--r--trait.impl/core/marker/trait.Send.js13
-rw-r--r--trait.impl/core/marker/trait.StructuralPartialEq.js12
-rw-r--r--trait.impl/core/marker/trait.Sync.js13
-rw-r--r--trait.impl/core/marker/trait.Unpin.js13
-rw-r--r--trait.impl/core/ops/drop/trait.Drop.js12
-rw-r--r--trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js13
-rw-r--r--trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js13
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Add.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Call.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Cmovnz.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Cmovz.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Cmp.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Dec.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Inc.js9
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Jmp.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Jnz.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Jz.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Mov.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Pop.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Push.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Test.js12
-rw-r--r--trait.impl/juicebox_asm/insn/trait.Xor.js9
138 files changed, 1969 insertions, 594 deletions
diff --git a/add/all.html b/add/all.html
index 34a99b2..ea66069 100644
--- a/add/all.html
+++ b/add/all.html
@@ -1,2 +1 @@
-<!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="List of all items in this crate"><title>List of all items in this crate</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="add" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../add/index.html">add</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../add/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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"><h1>List of all items</h1></section></div></main></body></html> \ No newline at end of file
+<!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="List of all items in this crate"><title>List of all items in this crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="add" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod sys"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../add/index.html">add</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><h1>List of all items</h1></section></div></main></body></html> \ No newline at end of file
diff --git a/add/index.html b/add/index.html
index 1c96511..df64156 100644
--- a/add/index.html
+++ b/add/index.html
@@ -1,6 +1,4 @@
-<!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="Add example."><title>add - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="add" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../add/index.html">add</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block">
- <li><a id="all-types" href="all.html">All Items</a></li></ul></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../add/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Crate <a class="mod" href="#">add</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/add/add.rs.html#1-38">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Add example.</p>
+<!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="Add example."><title>add - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="add" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod crate"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../add/index.html">add</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>add</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/add/add.rs.html#1-38">source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Add example.</p>
<p>Jit compile a function at runtime (generate native host code) which calls a function defined in
the example based on the SystemV abi to demonstrate the <a href="../juicebox_asm/index.html" title="mod juicebox_asm"><code>juicebox_asm</code></a> crate.</p>
</div></details></section></div></main></body></html> \ No newline at end of file
diff --git a/bf_vm/all.html b/bf_vm/all.html
new file mode 100644
index 0000000..500ca86
--- /dev/null
+++ b/bf_vm/all.html
@@ -0,0 +1 @@
+<!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="List of all items in this crate"><title>List of all items in this crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="bf_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod sys"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bf_vm/index.html">bf_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><h1>List of all items</h1></section></div></main></body></html> \ No newline at end of file
diff --git a/bf_vm/index.html b/bf_vm/index.html
new file mode 100644
index 0000000..d1ff6bd
--- /dev/null
+++ b/bf_vm/index.html
@@ -0,0 +1,16 @@
+<!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="Brainfuck VM."><title>bf_vm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="bf_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod crate"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../bf_vm/index.html">bf_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>bf_vm</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/bf_vm/bf_vm.rs.html#1-292">source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Brainfuck VM.</p>
+<p>This example implements a simple
+[brainfuck][https://en.wikipedia.org/wiki/Brainfuck] interpreter
+[<code>BrainfuckInterp</code>] and a jit compiler [<code>BrainfuckJit</code>].</p>
+<p>Brainfuck is an esoteric programming languge existing of 8 commands.</p>
+<ul>
+<li><code>&gt;</code> increment data pointer.</li>
+<li><code>&lt;</code> decrement data pointer.</li>
+<li><code>+</code> increment data at current data pointer.</li>
+<li><code>-</code> decrement data at current data pointer.</li>
+<li><code>.</code> output data at current data pointer.</li>
+<li><code>,</code> read input and store at current data pointer.</li>
+<li><code>[</code> jump behind matching ‘]’ if data at data pointer is zero.</li>
+<li><code>]</code> jump behind matching ‘[’ if data at data pointer is non-zero.</li>
+</ul>
+</div></details></section></div></main></body></html> \ No newline at end of file
diff --git a/bf_vm/sidebar-items.js b/bf_vm/sidebar-items.js
new file mode 100644
index 0000000..5244ce0
--- /dev/null
+++ b/bf_vm/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {}; \ No newline at end of file
diff --git a/crates.js b/crates.js
index 1b6bdf3..d7469b6 100644
--- a/crates.js
+++ b/crates.js
@@ -1 +1,2 @@
-window.ALL_CRATES = ["add","fib","juicebox_asm","tiny_vm"]; \ No newline at end of file
+window.ALL_CRATES = ["add","bf_vm","fib","juicebox_asm","tiny_vm"];
+//{"start":21,"fragment_lengths":[5,8,6,15,10]} \ No newline at end of file
diff --git a/fib/all.html b/fib/all.html
index 87e7a89..abcf332 100644
--- a/fib/all.html
+++ b/fib/all.html
@@ -1,2 +1 @@
-<!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="List of all items in this crate"><title>List of all items in this crate</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="fib" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../fib/index.html">fib</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../fib/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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"><h1>List of all items</h1></section></div></main></body></html> \ No newline at end of file
+<!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="List of all items in this crate"><title>List of all items in this crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="fib" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod sys"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../fib/index.html">fib</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><h1>List of all items</h1></section></div></main></body></html> \ No newline at end of file
diff --git a/fib/index.html b/fib/index.html
index fd9587d..3fcbd55 100644
--- a/fib/index.html
+++ b/fib/index.html
@@ -1,6 +1,4 @@
-<!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="Fibonacci example."><title>fib - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="fib" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../fib/index.html">fib</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block">
- <li><a id="all-types" href="all.html">All Items</a></li></ul></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../fib/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Crate <a class="mod" href="#">fib</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/fib/fib.rs.html#1-79">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Fibonacci example.</p>
+<!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="Fibonacci example."><title>fib - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="fib" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod crate"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../fib/index.html">fib</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>fib</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/fib/fib.rs.html#1-79">source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Fibonacci example.</p>
<p>Jit compile a function at runtime (generate native host code) to compute the fibonacci sequence
to demonstrate the <a href="../juicebox_asm/index.html" title="mod juicebox_asm"><code>juicebox_asm</code></a> crate.</p>
</div></details></section></div></main></body></html> \ No newline at end of file
diff --git a/help.html b/help.html
index 8c3ab22..c582c27 100644
--- a/help.html
+++ b/help.html
@@ -1,2 +1 @@
-<!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="Documentation for Rustdoc"><title>Help</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="./static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="./static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-feafe1bb7466e4bd.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 mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.76.0</span></h2></div><div class="version">(07dca489a 2024-02-04)</div><h2 class="location">Help</h2><div class="sidebar-elems"></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="./help.html" title="help">?</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>Rustdoc help</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable JavaScript to use keyboard commands or search.</p><p>For more information, browse the <a href="https://doc.rust-lang.org/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main></body></html> \ No newline at end of file
+<!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="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/${f}">`).join(""))</script><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="bf_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="./static.files/storage-1d39b6787ed640ff.js"></script><script defer src="./static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod sys"><!--[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" title="show sidebar"></button><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.83.0</span></h2></div><div class="version">(90b35a623 2024-11-26)</div><h2 class="location">Help</h2><div class="sidebar-elems"></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Rustdoc help</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable JavaScript to use keyboard commands or search.</p><p>For more information, browse the <a href="https://doc.rust-lang.org/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/all.html b/juicebox_asm/all.html
index 34a7139..8d73603 100644
--- a/juicebox_asm/all.html
+++ b/juicebox_asm/all.html
@@ -1,2 +1 @@
-<!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="List of all items in this crate"><title>List of all items in this crate</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></section></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.Asm.html">Asm</a></li><li><a href="struct.Imm16.html">Imm16</a></li><li><a href="struct.Imm32.html">Imm32</a></li><li><a href="struct.Imm64.html">Imm64</a></li><li><a href="struct.Imm8.html">Imm8</a></li><li><a href="struct.Label.html">Label</a></li><li><a href="struct.Runtime.html">Runtime</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="enum.MemOp.html">MemOp</a></li><li><a href="enum.Reg16.html">Reg16</a></li><li><a href="enum.Reg32.html">Reg32</a></li><li><a href="enum.Reg64.html">Reg64</a></li><li><a href="enum.Reg8.html">Reg8</a></li></ul><h3 id="traits">Traits</h3><ul class="all-items"><li><a href="insn/trait.Add.html">insn::Add</a></li><li><a href="insn/trait.Call.html">insn::Call</a></li><li><a href="insn/trait.Cmovnz.html">insn::Cmovnz</a></li><li><a href="insn/trait.Cmovz.html">insn::Cmovz</a></li><li><a href="insn/trait.Cmp.html">insn::Cmp</a></li><li><a href="insn/trait.Dec.html">insn::Dec</a></li><li><a href="insn/trait.Jmp.html">insn::Jmp</a></li><li><a href="insn/trait.Jnz.html">insn::Jnz</a></li><li><a href="insn/trait.Jz.html">insn::Jz</a></li><li><a href="insn/trait.Mov.html">insn::Mov</a></li><li><a href="insn/trait.Pop.html">insn::Pop</a></li><li><a href="insn/trait.Push.html">insn::Push</a></li><li><a href="insn/trait.Test.html">insn::Test</a></li></ul></section></div></main></body></html> \ No newline at end of file
+<!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="List of all items in this crate"><title>List of all items in this crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod sys"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h3><a href="#structs">Crate Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.Asm.html">Asm</a></li><li><a href="struct.Imm16.html">Imm16</a></li><li><a href="struct.Imm32.html">Imm32</a></li><li><a href="struct.Imm64.html">Imm64</a></li><li><a href="struct.Imm8.html">Imm8</a></li><li><a href="struct.Label.html">Label</a></li><li><a href="struct.MemOp16.html">MemOp16</a></li><li><a href="struct.MemOp32.html">MemOp32</a></li><li><a href="struct.MemOp64.html">MemOp64</a></li><li><a href="struct.MemOp8.html">MemOp8</a></li><li><a href="struct.Runtime.html">Runtime</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="enum.MemOp.html">MemOp</a></li><li><a href="enum.Reg16.html">Reg16</a></li><li><a href="enum.Reg32.html">Reg32</a></li><li><a href="enum.Reg64.html">Reg64</a></li><li><a href="enum.Reg8.html">Reg8</a></li></ul><h3 id="traits">Traits</h3><ul class="all-items"><li><a href="insn/trait.Add.html">insn::Add</a></li><li><a href="insn/trait.Call.html">insn::Call</a></li><li><a href="insn/trait.Cmovnz.html">insn::Cmovnz</a></li><li><a href="insn/trait.Cmovz.html">insn::Cmovz</a></li><li><a href="insn/trait.Cmp.html">insn::Cmp</a></li><li><a href="insn/trait.Dec.html">insn::Dec</a></li><li><a href="insn/trait.Inc.html">insn::Inc</a></li><li><a href="insn/trait.Jmp.html">insn::Jmp</a></li><li><a href="insn/trait.Jnz.html">insn::Jnz</a></li><li><a href="insn/trait.Jz.html">insn::Jz</a></li><li><a href="insn/trait.Mov.html">insn::Mov</a></li><li><a href="insn/trait.Pop.html">insn::Pop</a></li><li><a href="insn/trait.Push.html">insn::Push</a></li><li><a href="insn/trait.Test.html">insn::Test</a></li><li><a href="insn/trait.Xor.html">insn::Xor</a></li></ul></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/enum.MemOp.html b/juicebox_asm/enum.MemOp.html
index 47a70ab..1a413d6 100644
--- a/juicebox_asm/enum.MemOp.html
+++ b/juicebox_asm/enum.MemOp.html
@@ -1,18 +1,21 @@
-<!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="Type representing a memory operand."><title>MemOp in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">MemOp</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Indirect">Indirect</a></li><li><a href="#variant.IndirectDisp">IndirectDisp</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm">Add&lt;MemOp, Imm16&gt;</a></li><li><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm">Add&lt;MemOp, Reg16&gt;</a></li><li><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm">Cmp&lt;MemOp, Imm16&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm">Mov&lt;MemOp, Imm16&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm">Mov&lt;MemOp, Reg16&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm">Mov&lt;MemOp, Reg32&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm">Mov&lt;MemOp, Reg64&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm">Mov&lt;MemOp, Reg8&gt;</a></li><li><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm">Mov&lt;Reg16, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm">Mov&lt;Reg32, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm">Mov&lt;Reg64, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm">Mov&lt;Reg8, MemOp&gt;</a></li><li><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm">Test&lt;MemOp, Imm16&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-MemOp">RefUnwindSafe</a></li><li><a href="#impl-Send-for-MemOp">Send</a></li><li><a href="#impl-Sync-for-MemOp">Sync</a></li><li><a href="#impl-Unpin-for-MemOp">Unpin</a></li><li><a href="#impl-UnwindSafe-for-MemOp">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Enum <a href="index.html">juicebox_asm</a>::<wbr><a class="enum" href="#">MemOp</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/juicebox_asm/lib.rs.html#91-97">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum MemOp {
+<!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="Type representing a memory operand."><title>MemOp in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 enum"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">MemOp</a></h2><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Indirect" title="Indirect">Indirect</a></li><li><a href="#variant.IndirectBaseIndex" title="IndirectBaseIndex">IndirectBaseIndex</a></li><li><a href="#variant.IndirectDisp" title="IndirectDisp">IndirectDisp</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm" title="Add&#60;MemOp, Imm16&#62;">Add&#60;MemOp, Imm16&#62;</a></li><li><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm" title="Add&#60;MemOp, Reg16&#62;">Add&#60;MemOp, Reg16&#62;</a></li><li><a href="#impl-Add%3CMemOp,+Reg64%3E-for-Asm" title="Add&#60;MemOp, Reg64&#62;">Add&#60;MemOp, Reg64&#62;</a></li><li><a href="#impl-Add%3CReg64,+MemOp%3E-for-Asm" title="Add&#60;Reg64, MemOp&#62;">Add&#60;Reg64, MemOp&#62;</a></li><li><a href="#impl-Clone-for-MemOp" title="Clone">Clone</a></li><li><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" title="Cmp&#60;MemOp, Imm16&#62;">Cmp&#60;MemOp, Imm16&#62;</a></li><li><a href="#impl-Cmp%3CMemOp,+Imm8%3E-for-Asm" title="Cmp&#60;MemOp, Imm8&#62;">Cmp&#60;MemOp, Imm8&#62;</a></li><li><a href="#impl-Copy-for-MemOp" title="Copy">Copy</a></li><li><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm" title="Mov&#60;MemOp, Imm16&#62;">Mov&#60;MemOp, Imm16&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm" title="Mov&#60;MemOp, Reg16&#62;">Mov&#60;MemOp, Reg16&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm" title="Mov&#60;MemOp, Reg32&#62;">Mov&#60;MemOp, Reg32&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm" title="Mov&#60;MemOp, Reg64&#62;">Mov&#60;MemOp, Reg64&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm" title="Mov&#60;MemOp, Reg8&#62;">Mov&#60;MemOp, Reg8&#62;</a></li><li><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm" title="Mov&#60;Reg16, MemOp&#62;">Mov&#60;Reg16, MemOp&#62;</a></li><li><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm" title="Mov&#60;Reg32, MemOp&#62;">Mov&#60;Reg32, MemOp&#62;</a></li><li><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm" title="Mov&#60;Reg64, MemOp&#62;">Mov&#60;Reg64, MemOp&#62;</a></li><li><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm" title="Mov&#60;Reg8, MemOp&#62;">Mov&#60;Reg8, MemOp&#62;</a></li><li><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm" title="Test&#60;MemOp, Imm16&#62;">Test&#60;MemOp, Imm16&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-MemOp" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-MemOp" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-MemOp" title="Send">Send</a></li><li><a href="#impl-Sync-for-MemOp" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-MemOp" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-MemOp" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Enum <span class="enum">MemOp</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/lib.rs.html#92-101">source</a> </span></div><pre class="rust item-decl"><code>pub enum MemOp {
Indirect(<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>),
- IndirectDisp(<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i32.html">i32</a>),
+ IndirectDisp(<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i32.html">i32</a>),
+ IndirectBaseIndex(<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>),
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Type representing a memory operand.</p>
</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Indirect" class="variant"><a href="#variant.Indirect" class="anchor">§</a><h3 class="code-header">Indirect(<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h3></section><div class="docblock"><p>An indirect memory operand, eg <code>mov [rax], rcx</code>.</p>
-</div><section id="variant.IndirectDisp" class="variant"><a href="#variant.IndirectDisp" class="anchor">§</a><h3 class="code-header">IndirectDisp(<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i32.html">i32</a>)</h3></section><div class="docblock"><p>An indirect memory operand with additional displacement, eg <code>mov [rax + 0x10], rcx</code>.</p>
-</div></div><h2 id="trait-implementations" class="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-Add%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#22-26">source</a><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#23-25">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#16-20">source</a><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#17-19">source</a><a href="#method.add-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#4-8">source</a><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#5-7">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmp.html#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a compare instruction. <a href="insn/trait.Cmp.html#tymethod.cmp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#110-114">source</a><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-6" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#111-113">source</a><a href="#method.mov-6" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#44-48">source</a><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#45-47">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#38-42">source</a><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#39-41">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#32-36">source</a><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-8" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#33-35">source</a><a href="#method.mov-8" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#50-54">source</a><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#51-53">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#70-74">source</a><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-5" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#71-73">source</a><a href="#method.mov-5" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#64-68">source</a><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-4" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#65-67">source</a><a href="#method.mov-4" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#58-62">source</a><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#59-61">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#76-80">source</a><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-7" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#77-79">source</a><a href="#method.mov-7" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#16-20">source</a><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#17-19">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-MemOp" class="impl"><a href="#impl-RefUnwindSafe-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-Send-for-MemOp" class="impl"><a href="#impl-Send-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-Sync-for-MemOp" class="impl"><a href="#impl-Sync-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-Unpin-for-MemOp" class="impl"><a href="#impl-Unpin-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-UnwindSafe-for-MemOp" class="impl"><a href="#impl-UnwindSafe-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+</div><section id="variant.IndirectDisp" class="variant"><a href="#variant.IndirectDisp" class="anchor">§</a><h3 class="code-header">IndirectDisp(<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i32.html">i32</a>)</h3></section><div class="docblock"><p>An indirect memory operand with additional displacement, eg <code>mov [rax + 0x10], rcx</code>.</p>
+</div><section id="variant.IndirectBaseIndex" class="variant"><a href="#variant.IndirectBaseIndex" class="anchor">§</a><h3 class="code-header">IndirectBaseIndex(<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h3></section><div class="docblock"><p>An indirect memory operand in the form base + index, eg <code>mov [rax + rcx], rdx</code>.</p>
+</div></div><h2 id="trait-implementations" class="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-Add%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#28-32">source</a><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#29-31">source</a><a href="#method.add-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#22-26">source</a><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#23-25">source</a><a href="#method.add-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CMemOp,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#16-20">source</a><a href="#impl-Add%3CMemOp,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#17-19">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CReg64,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#34-38">source</a><a href="#impl-Add%3CReg64,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#35-37">source</a><a href="#method.add-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-MemOp" class="impl"><a class="src rightside" href="../src/juicebox_asm/lib.rs.html#91">source</a><a href="#impl-Clone-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/lib.rs.html#91">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.83.0/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#10-14">source</a><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#11-13">source</a><a href="#method.cmp-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmp.html#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a compare instruction. <a href="insn/trait.Cmp.html#tymethod.cmp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmp%3CMemOp,+Imm8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#4-8">source</a><a href="#impl-Cmp%3CMemOp,+Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#5-7">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmp.html#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit a compare instruction. <a href="insn/trait.Cmp.html#tymethod.cmp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#110-114">source</a><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-8" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#111-113">source</a><a href="#method.mov-8" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#44-48">source</a><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#45-47">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#38-42">source</a><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#39-41">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#32-36">source</a><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#33-35">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#50-54">source</a><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#51-53">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#70-74">source</a><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-6" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#71-73">source</a><a href="#method.mov-6" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#64-68">source</a><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-5" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#65-67">source</a><a href="#method.mov-5" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#58-62">source</a><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-4" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#59-61">source</a><a href="#method.mov-4" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#76-80">source</a><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-7" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#77-79">source</a><a href="#method.mov-7" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#16-20">source</a><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#17-19">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details><section id="impl-Copy-for-MemOp" class="impl"><a class="src rightside" href="../src/juicebox_asm/lib.rs.html#91">source</a><a href="#impl-Copy-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-MemOp" class="impl"><a href="#impl-Freeze-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-RefUnwindSafe-for-MemOp" class="impl"><a href="#impl-RefUnwindSafe-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-Send-for-MemOp" class="impl"><a href="#impl-Send-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-Sync-for-MemOp" class="impl"><a href="#impl-Sync-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-Unpin-for-MemOp" class="impl"><a href="#impl-Unpin-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-UnwindSafe-for-MemOp" class="impl"><a href="#impl-UnwindSafe-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#273">source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.pointer.html">*mut T</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/enum.Reg16.html b/juicebox_asm/enum.Reg16.html
index 872d467..8818908 100644
--- a/juicebox_asm/enum.Reg16.html
+++ b/juicebox_asm/enum.Reg16.html
@@ -1,5 +1,4 @@
-<!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="Definition of 16 bit registers."><title>Reg16 in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Reg16</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.ax">ax</a></li><li><a href="#variant.bp">bp</a></li><li><a href="#variant.bx">bx</a></li><li><a href="#variant.cx">cx</a></li><li><a href="#variant.di">di</a></li><li><a href="#variant.dx">dx</a></li><li><a href="#variant.r10w">r10w</a></li><li><a href="#variant.r11w">r11w</a></li><li><a href="#variant.r12w">r12w</a></li><li><a href="#variant.r13w">r13w</a></li><li><a href="#variant.r14w">r14w</a></li><li><a href="#variant.r15w">r15w</a></li><li><a href="#variant.r8w">r8w</a></li><li><a href="#variant.r9w">r9w</a></li><li><a href="#variant.si">si</a></li><li><a href="#variant.sp">sp</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm">Add&lt;MemOp, Reg16&gt;</a></li><li><a href="#impl-Clone-for-Reg16">Clone</a></li><li><a href="#impl-Copy-for-Reg16">Copy</a></li><li><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm">Mov&lt;MemOp, Reg16&gt;</a></li><li><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm">Mov&lt;Reg16, Imm16&gt;</a></li><li><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm">Mov&lt;Reg16, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg16,+Reg16%3E-for-Asm">Mov&lt;Reg16, Reg16&gt;</a></li><li><a href="#impl-Pop%3CReg16%3E-for-Asm">Pop&lt;Reg16&gt;</a></li><li><a href="#impl-Push%3CReg16%3E-for-Asm">Push&lt;Reg16&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Reg16">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg16">Send</a></li><li><a href="#impl-Sync-for-Reg16">Sync</a></li><li><a href="#impl-Unpin-for-Reg16">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg16">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Enum <a href="index.html">juicebox_asm</a>::<wbr><a class="enum" href="#">Reg16</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/juicebox_asm/reg.rs.html#84-86">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(u8)]</div>pub enum Reg16 {
+<!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="Definition of 16 bit registers."><title>Reg16 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 enum"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Reg16</a></h2><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.ax" title="ax">ax</a></li><li><a href="#variant.bp" title="bp">bp</a></li><li><a href="#variant.bx" title="bx">bx</a></li><li><a href="#variant.cx" title="cx">cx</a></li><li><a href="#variant.di" title="di">di</a></li><li><a href="#variant.dx" title="dx">dx</a></li><li><a href="#variant.r10w" title="r10w">r10w</a></li><li><a href="#variant.r11w" title="r11w">r11w</a></li><li><a href="#variant.r12w" title="r12w">r12w</a></li><li><a href="#variant.r13w" title="r13w">r13w</a></li><li><a href="#variant.r14w" title="r14w">r14w</a></li><li><a href="#variant.r15w" title="r15w">r15w</a></li><li><a href="#variant.r8w" title="r8w">r8w</a></li><li><a href="#variant.r9w" title="r9w">r9w</a></li><li><a href="#variant.si" title="si">si</a></li><li><a href="#variant.sp" title="sp">sp</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm" title="Add&#60;MemOp, Reg16&#62;">Add&#60;MemOp, Reg16&#62;</a></li><li><a href="#impl-Clone-for-Reg16" title="Clone">Clone</a></li><li><a href="#impl-Copy-for-Reg16" title="Copy">Copy</a></li><li><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm" title="Mov&#60;MemOp, Reg16&#62;">Mov&#60;MemOp, Reg16&#62;</a></li><li><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm" title="Mov&#60;Reg16, Imm16&#62;">Mov&#60;Reg16, Imm16&#62;</a></li><li><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm" title="Mov&#60;Reg16, MemOp&#62;">Mov&#60;Reg16, MemOp&#62;</a></li><li><a href="#impl-Mov%3CReg16,+Reg16%3E-for-Asm" title="Mov&#60;Reg16, Reg16&#62;">Mov&#60;Reg16, Reg16&#62;</a></li><li><a href="#impl-Pop%3CReg16%3E-for-Asm" title="Pop&#60;Reg16&#62;">Pop&#60;Reg16&#62;</a></li><li><a href="#impl-Push%3CReg16%3E-for-Asm" title="Push&#60;Reg16&#62;">Push&#60;Reg16&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Reg16" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Reg16" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg16" title="Send">Send</a></li><li><a href="#impl-Sync-for-Reg16" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Reg16" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg16" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Enum <span class="enum">Reg16</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/reg.rs.html#84-86">source</a> </span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(u8)]</div>pub enum Reg16 {
<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 16 variants</span></summary> ax = 0,
cx = 1,
dx = 2,
@@ -17,15 +16,16 @@
r14w = 14,
r15w = 15,
</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Definition of 16 bit registers.</p>
-</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.ax" class="variant"><a href="#variant.ax" class="anchor">§</a><h3 class="code-header">ax = 0</h3></section><section id="variant.cx" class="variant"><a href="#variant.cx" class="anchor">§</a><h3 class="code-header">cx = 1</h3></section><section id="variant.dx" class="variant"><a href="#variant.dx" class="anchor">§</a><h3 class="code-header">dx = 2</h3></section><section id="variant.bx" class="variant"><a href="#variant.bx" class="anchor">§</a><h3 class="code-header">bx = 3</h3></section><section id="variant.sp" class="variant"><a href="#variant.sp" class="anchor">§</a><h3 class="code-header">sp = 4</h3></section><section id="variant.bp" class="variant"><a href="#variant.bp" class="anchor">§</a><h3 class="code-header">bp = 5</h3></section><section id="variant.si" class="variant"><a href="#variant.si" class="anchor">§</a><h3 class="code-header">si = 6</h3></section><section id="variant.di" class="variant"><a href="#variant.di" class="anchor">§</a><h3 class="code-header">di = 7</h3></section><section id="variant.r8w" class="variant"><a href="#variant.r8w" class="anchor">§</a><h3 class="code-header">r8w = 8</h3></section><section id="variant.r9w" class="variant"><a href="#variant.r9w" class="anchor">§</a><h3 class="code-header">r9w = 9</h3></section><section id="variant.r10w" class="variant"><a href="#variant.r10w" class="anchor">§</a><h3 class="code-header">r10w = 10</h3></section><section id="variant.r11w" class="variant"><a href="#variant.r11w" class="anchor">§</a><h3 class="code-header">r11w = 11</h3></section><section id="variant.r12w" class="variant"><a href="#variant.r12w" class="anchor">§</a><h3 class="code-header">r12w = 12</h3></section><section id="variant.r13w" class="variant"><a href="#variant.r13w" class="anchor">§</a><h3 class="code-header">r13w = 13</h3></section><section id="variant.r14w" class="variant"><a href="#variant.r14w" class="anchor">§</a><h3 class="code-header">r14w = 14</h3></section><section id="variant.r15w" class="variant"><a href="#variant.r15w" class="anchor">§</a><h3 class="code-header">r15w = 15</h3></section></div><h2 id="trait-implementations" class="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-Add%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#16-20">source</a><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#17-19">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Reg16" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#84-86">source</a><a href="#impl-Clone-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#84-86">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.76.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#44-48">source</a><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#45-47">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#96-100">source</a><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#97-99">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#70-74">source</a><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#71-73">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#18-22">source</a><a href="#impl-Mov%3CReg16,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#19-21">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Pop%3CReg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#10-14">source</a><a href="#impl-Pop%3CReg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.pop" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#11-13">source</a><a href="#method.pop" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Pop.html#tymethod.pop" class="fn">pop</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit a pop instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Push%3CReg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#10-14">source</a><a href="#impl-Push%3CReg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.push" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#11-13">source</a><a href="#method.push" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Push.html#tymethod.push" class="fn">push</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit a push instruction.</div></details></div></details><section id="impl-Copy-for-Reg16" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#84-86">source</a><a href="#impl-Copy-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Reg16" class="impl"><a href="#impl-RefUnwindSafe-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section><section id="impl-Send-for-Reg16" class="impl"><a href="#impl-Send-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section><section id="impl-Sync-for-Reg16" class="impl"><a href="#impl-Sync-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section><section id="impl-Unpin-for-Reg16" class="impl"><a href="#impl-Unpin-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section><section id="impl-UnwindSafe-for-Reg16" class="impl"><a href="#impl-UnwindSafe-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.ax" class="variant"><a href="#variant.ax" class="anchor">§</a><h3 class="code-header">ax = 0</h3></section><section id="variant.cx" class="variant"><a href="#variant.cx" class="anchor">§</a><h3 class="code-header">cx = 1</h3></section><section id="variant.dx" class="variant"><a href="#variant.dx" class="anchor">§</a><h3 class="code-header">dx = 2</h3></section><section id="variant.bx" class="variant"><a href="#variant.bx" class="anchor">§</a><h3 class="code-header">bx = 3</h3></section><section id="variant.sp" class="variant"><a href="#variant.sp" class="anchor">§</a><h3 class="code-header">sp = 4</h3></section><section id="variant.bp" class="variant"><a href="#variant.bp" class="anchor">§</a><h3 class="code-header">bp = 5</h3></section><section id="variant.si" class="variant"><a href="#variant.si" class="anchor">§</a><h3 class="code-header">si = 6</h3></section><section id="variant.di" class="variant"><a href="#variant.di" class="anchor">§</a><h3 class="code-header">di = 7</h3></section><section id="variant.r8w" class="variant"><a href="#variant.r8w" class="anchor">§</a><h3 class="code-header">r8w = 8</h3></section><section id="variant.r9w" class="variant"><a href="#variant.r9w" class="anchor">§</a><h3 class="code-header">r9w = 9</h3></section><section id="variant.r10w" class="variant"><a href="#variant.r10w" class="anchor">§</a><h3 class="code-header">r10w = 10</h3></section><section id="variant.r11w" class="variant"><a href="#variant.r11w" class="anchor">§</a><h3 class="code-header">r11w = 11</h3></section><section id="variant.r12w" class="variant"><a href="#variant.r12w" class="anchor">§</a><h3 class="code-header">r12w = 12</h3></section><section id="variant.r13w" class="variant"><a href="#variant.r13w" class="anchor">§</a><h3 class="code-header">r13w = 13</h3></section><section id="variant.r14w" class="variant"><a href="#variant.r14w" class="anchor">§</a><h3 class="code-header">r14w = 14</h3></section><section id="variant.r15w" class="variant"><a href="#variant.r15w" class="anchor">§</a><h3 class="code-header">r15w = 15</h3></section></div><h2 id="trait-implementations" class="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-Add%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#22-26">source</a><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#23-25">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Reg16" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#84-86">source</a><a href="#impl-Clone-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#84-86">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.83.0/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#44-48">source</a><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#45-47">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#96-100">source</a><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#97-99">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#70-74">source</a><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#71-73">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#18-22">source</a><a href="#impl-Mov%3CReg16,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#19-21">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Pop%3CReg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#10-14">source</a><a href="#impl-Pop%3CReg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.pop" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#11-13">source</a><a href="#method.pop" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Pop.html#tymethod.pop" class="fn">pop</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit a pop instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Push%3CReg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#10-14">source</a><a href="#impl-Push%3CReg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.push" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#11-13">source</a><a href="#method.push" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Push.html#tymethod.push" class="fn">push</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit a push instruction.</div></details></div></details><section id="impl-Copy-for-Reg16" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#84-86">source</a><a href="#impl-Copy-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Reg16" class="impl"><a href="#impl-Freeze-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section><section id="impl-RefUnwindSafe-for-Reg16" class="impl"><a href="#impl-RefUnwindSafe-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section><section id="impl-Send-for-Reg16" class="impl"><a href="#impl-Send-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section><section id="impl-Sync-for-Reg16" class="impl"><a href="#impl-Sync-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section><section id="impl-Unpin-for-Reg16" class="impl"><a href="#impl-Unpin-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section><section id="impl-UnwindSafe-for-Reg16" class="impl"><a href="#impl-UnwindSafe-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#273">source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.pointer.html">*mut T</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
- T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/enum.Reg32.html b/juicebox_asm/enum.Reg32.html
index e9ac472..c8f7857 100644
--- a/juicebox_asm/enum.Reg32.html
+++ b/juicebox_asm/enum.Reg32.html
@@ -1,5 +1,4 @@
-<!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="Definition of 32 bit registers."><title>Reg32 in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Reg32</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.eax">eax</a></li><li><a href="#variant.ebp">ebp</a></li><li><a href="#variant.ebx">ebx</a></li><li><a href="#variant.ecx">ecx</a></li><li><a href="#variant.edi">edi</a></li><li><a href="#variant.edx">edx</a></li><li><a href="#variant.esi">esi</a></li><li><a href="#variant.esp">esp</a></li><li><a href="#variant.r10d">r10d</a></li><li><a href="#variant.r11d">r11d</a></li><li><a href="#variant.r12d">r12d</a></li><li><a href="#variant.r13d">r13d</a></li><li><a href="#variant.r14d">r14d</a></li><li><a href="#variant.r15d">r15d</a></li><li><a href="#variant.r8d">r8d</a></li><li><a href="#variant.r9d">r9d</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CReg32,+Reg32%3E-for-Asm">Add&lt;Reg32, Reg32&gt;</a></li><li><a href="#impl-Clone-for-Reg32">Clone</a></li><li><a href="#impl-Copy-for-Reg32">Copy</a></li><li><a href="#impl-Dec%3CReg32%3E-for-Asm">Dec&lt;Reg32&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm">Mov&lt;MemOp, Reg32&gt;</a></li><li><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm">Mov&lt;Reg32, Imm32&gt;</a></li><li><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm">Mov&lt;Reg32, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg32,+Reg32%3E-for-Asm">Mov&lt;Reg32, Reg32&gt;</a></li><li><a href="#impl-Test%3CReg32,+Reg32%3E-for-Asm">Test&lt;Reg32, Reg32&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Reg32">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg32">Send</a></li><li><a href="#impl-Sync-for-Reg32">Sync</a></li><li><a href="#impl-Unpin-for-Reg32">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg32">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Enum <a href="index.html">juicebox_asm</a>::<wbr><a class="enum" href="#">Reg32</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/juicebox_asm/reg.rs.html#81-83">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(u8)]</div>pub enum Reg32 {
+<!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="Definition of 32 bit registers."><title>Reg32 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 enum"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Reg32</a></h2><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.eax" title="eax">eax</a></li><li><a href="#variant.ebp" title="ebp">ebp</a></li><li><a href="#variant.ebx" title="ebx">ebx</a></li><li><a href="#variant.ecx" title="ecx">ecx</a></li><li><a href="#variant.edi" title="edi">edi</a></li><li><a href="#variant.edx" title="edx">edx</a></li><li><a href="#variant.esi" title="esi">esi</a></li><li><a href="#variant.esp" title="esp">esp</a></li><li><a href="#variant.r10d" title="r10d">r10d</a></li><li><a href="#variant.r11d" title="r11d">r11d</a></li><li><a href="#variant.r12d" title="r12d">r12d</a></li><li><a href="#variant.r13d" title="r13d">r13d</a></li><li><a href="#variant.r14d" title="r14d">r14d</a></li><li><a href="#variant.r15d" title="r15d">r15d</a></li><li><a href="#variant.r8d" title="r8d">r8d</a></li><li><a href="#variant.r9d" title="r9d">r9d</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CReg32,+Reg32%3E-for-Asm" title="Add&#60;Reg32, Reg32&#62;">Add&#60;Reg32, Reg32&#62;</a></li><li><a href="#impl-Clone-for-Reg32" title="Clone">Clone</a></li><li><a href="#impl-Copy-for-Reg32" title="Copy">Copy</a></li><li><a href="#impl-Dec%3CReg32%3E-for-Asm" title="Dec&#60;Reg32&#62;">Dec&#60;Reg32&#62;</a></li><li><a href="#impl-Inc%3CReg32%3E-for-Asm" title="Inc&#60;Reg32&#62;">Inc&#60;Reg32&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm" title="Mov&#60;MemOp, Reg32&#62;">Mov&#60;MemOp, Reg32&#62;</a></li><li><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm" title="Mov&#60;Reg32, Imm32&#62;">Mov&#60;Reg32, Imm32&#62;</a></li><li><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm" title="Mov&#60;Reg32, MemOp&#62;">Mov&#60;Reg32, MemOp&#62;</a></li><li><a href="#impl-Mov%3CReg32,+Reg32%3E-for-Asm" title="Mov&#60;Reg32, Reg32&#62;">Mov&#60;Reg32, Reg32&#62;</a></li><li><a href="#impl-Test%3CReg32,+Reg32%3E-for-Asm" title="Test&#60;Reg32, Reg32&#62;">Test&#60;Reg32, Reg32&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Reg32" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Reg32" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg32" title="Send">Send</a></li><li><a href="#impl-Sync-for-Reg32" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Reg32" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg32" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Enum <span class="enum">Reg32</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/reg.rs.html#81-83">source</a> </span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(u8)]</div>pub enum Reg32 {
<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 16 variants</span></summary> eax = 0,
ecx = 1,
edx = 2,
@@ -17,15 +16,16 @@
r14d = 14,
r15d = 15,
</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Definition of 32 bit registers.</p>
-</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.eax" class="variant"><a href="#variant.eax" class="anchor">§</a><h3 class="code-header">eax = 0</h3></section><section id="variant.ecx" class="variant"><a href="#variant.ecx" class="anchor">§</a><h3 class="code-header">ecx = 1</h3></section><section id="variant.edx" class="variant"><a href="#variant.edx" class="anchor">§</a><h3 class="code-header">edx = 2</h3></section><section id="variant.ebx" class="variant"><a href="#variant.ebx" class="anchor">§</a><h3 class="code-header">ebx = 3</h3></section><section id="variant.esp" class="variant"><a href="#variant.esp" class="anchor">§</a><h3 class="code-header">esp = 4</h3></section><section id="variant.ebp" class="variant"><a href="#variant.ebp" class="anchor">§</a><h3 class="code-header">ebp = 5</h3></section><section id="variant.esi" class="variant"><a href="#variant.esi" class="anchor">§</a><h3 class="code-header">esi = 6</h3></section><section id="variant.edi" class="variant"><a href="#variant.edi" class="anchor">§</a><h3 class="code-header">edi = 7</h3></section><section id="variant.r8d" class="variant"><a href="#variant.r8d" class="anchor">§</a><h3 class="code-header">r8d = 8</h3></section><section id="variant.r9d" class="variant"><a href="#variant.r9d" class="anchor">§</a><h3 class="code-header">r9d = 9</h3></section><section id="variant.r10d" class="variant"><a href="#variant.r10d" class="anchor">§</a><h3 class="code-header">r10d = 10</h3></section><section id="variant.r11d" class="variant"><a href="#variant.r11d" class="anchor">§</a><h3 class="code-header">r11d = 11</h3></section><section id="variant.r12d" class="variant"><a href="#variant.r12d" class="anchor">§</a><h3 class="code-header">r12d = 12</h3></section><section id="variant.r13d" class="variant"><a href="#variant.r13d" class="anchor">§</a><h3 class="code-header">r13d = 13</h3></section><section id="variant.r14d" class="variant"><a href="#variant.r14d" class="anchor">§</a><h3 class="code-header">r14d = 14</h3></section><section id="variant.r15d" class="variant"><a href="#variant.r15d" class="anchor">§</a><h3 class="code-header">r15d = 15</h3></section></div><h2 id="trait-implementations" class="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-Add%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#10-14">source</a><a href="#impl-Add%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#11-13">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Reg32" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#81-83">source</a><a href="#impl-Clone-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#81-83">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.76.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#10-14">source</a><a href="#impl-Dec%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#11-13">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#38-42">source</a><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#39-41">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#90-94">source</a><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#91-93">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#64-68">source</a><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#65-67">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#12-16">source</a><a href="#impl-Mov%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#13-15">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#10-14">source</a><a href="#impl-Test%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#11-13">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details><section id="impl-Copy-for-Reg32" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#81-83">source</a><a href="#impl-Copy-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Reg32" class="impl"><a href="#impl-RefUnwindSafe-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section><section id="impl-Send-for-Reg32" class="impl"><a href="#impl-Send-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section><section id="impl-Sync-for-Reg32" class="impl"><a href="#impl-Sync-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section><section id="impl-Unpin-for-Reg32" class="impl"><a href="#impl-Unpin-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section><section id="impl-UnwindSafe-for-Reg32" class="impl"><a href="#impl-UnwindSafe-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.eax" class="variant"><a href="#variant.eax" class="anchor">§</a><h3 class="code-header">eax = 0</h3></section><section id="variant.ecx" class="variant"><a href="#variant.ecx" class="anchor">§</a><h3 class="code-header">ecx = 1</h3></section><section id="variant.edx" class="variant"><a href="#variant.edx" class="anchor">§</a><h3 class="code-header">edx = 2</h3></section><section id="variant.ebx" class="variant"><a href="#variant.ebx" class="anchor">§</a><h3 class="code-header">ebx = 3</h3></section><section id="variant.esp" class="variant"><a href="#variant.esp" class="anchor">§</a><h3 class="code-header">esp = 4</h3></section><section id="variant.ebp" class="variant"><a href="#variant.ebp" class="anchor">§</a><h3 class="code-header">ebp = 5</h3></section><section id="variant.esi" class="variant"><a href="#variant.esi" class="anchor">§</a><h3 class="code-header">esi = 6</h3></section><section id="variant.edi" class="variant"><a href="#variant.edi" class="anchor">§</a><h3 class="code-header">edi = 7</h3></section><section id="variant.r8d" class="variant"><a href="#variant.r8d" class="anchor">§</a><h3 class="code-header">r8d = 8</h3></section><section id="variant.r9d" class="variant"><a href="#variant.r9d" class="anchor">§</a><h3 class="code-header">r9d = 9</h3></section><section id="variant.r10d" class="variant"><a href="#variant.r10d" class="anchor">§</a><h3 class="code-header">r10d = 10</h3></section><section id="variant.r11d" class="variant"><a href="#variant.r11d" class="anchor">§</a><h3 class="code-header">r11d = 11</h3></section><section id="variant.r12d" class="variant"><a href="#variant.r12d" class="anchor">§</a><h3 class="code-header">r12d = 12</h3></section><section id="variant.r13d" class="variant"><a href="#variant.r13d" class="anchor">§</a><h3 class="code-header">r13d = 13</h3></section><section id="variant.r14d" class="variant"><a href="#variant.r14d" class="anchor">§</a><h3 class="code-header">r14d = 14</h3></section><section id="variant.r15d" class="variant"><a href="#variant.r15d" class="anchor">§</a><h3 class="code-header">r15d = 15</h3></section></div><h2 id="trait-implementations" class="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-Add%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#10-14">source</a><a href="#impl-Add%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#11-13">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Reg32" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#81-83">source</a><a href="#impl-Clone-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#81-83">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.83.0/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#10-14">source</a><a href="#impl-Dec%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#11-13">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CReg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#10-14">source</a><a href="#impl-Inc%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#11-13">source</a><a href="#method.inc" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#38-42">source</a><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#39-41">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#90-94">source</a><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#91-93">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#64-68">source</a><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#65-67">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#12-16">source</a><a href="#impl-Mov%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#13-15">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#10-14">source</a><a href="#impl-Test%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#11-13">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details><section id="impl-Copy-for-Reg32" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#81-83">source</a><a href="#impl-Copy-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Reg32" class="impl"><a href="#impl-Freeze-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section><section id="impl-RefUnwindSafe-for-Reg32" class="impl"><a href="#impl-RefUnwindSafe-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section><section id="impl-Send-for-Reg32" class="impl"><a href="#impl-Send-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section><section id="impl-Sync-for-Reg32" class="impl"><a href="#impl-Sync-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section><section id="impl-Unpin-for-Reg32" class="impl"><a href="#impl-Unpin-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section><section id="impl-UnwindSafe-for-Reg32" class="impl"><a href="#impl-UnwindSafe-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#273">source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.pointer.html">*mut T</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
- T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/enum.Reg64.html b/juicebox_asm/enum.Reg64.html
index 764b191..af6ed81 100644
--- a/juicebox_asm/enum.Reg64.html
+++ b/juicebox_asm/enum.Reg64.html
@@ -1,5 +1,4 @@
-<!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="Definition of 64 bit registers."><title>Reg64 in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Reg64</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.r10">r10</a></li><li><a href="#variant.r11">r11</a></li><li><a href="#variant.r12">r12</a></li><li><a href="#variant.r13">r13</a></li><li><a href="#variant.r14">r14</a></li><li><a href="#variant.r15">r15</a></li><li><a href="#variant.r8">r8</a></li><li><a href="#variant.r9">r9</a></li><li><a href="#variant.rax">rax</a></li><li><a href="#variant.rbp">rbp</a></li><li><a href="#variant.rbx">rbx</a></li><li><a href="#variant.rcx">rcx</a></li><li><a href="#variant.rdi">rdi</a></li><li><a href="#variant.rdx">rdx</a></li><li><a href="#variant.rsi">rsi</a></li><li><a href="#variant.rsp">rsp</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CReg64,+Reg64%3E-for-Asm">Add&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Call%3CReg64%3E-for-Asm">Call&lt;Reg64&gt;</a></li><li><a href="#impl-Clone-for-Reg64">Clone</a></li><li><a href="#impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm">Cmovnz&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Cmovz%3CReg64,+Reg64%3E-for-Asm">Cmovz&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Copy-for-Reg64">Copy</a></li><li><a href="#impl-Dec%3CReg64%3E-for-Asm">Dec&lt;Reg64&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm">Mov&lt;MemOp, Reg64&gt;</a></li><li><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm">Mov&lt;Reg64, Imm64&gt;</a></li><li><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm">Mov&lt;Reg64, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg64,+Reg64%3E-for-Asm">Mov&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Pop%3CReg64%3E-for-Asm">Pop&lt;Reg64&gt;</a></li><li><a href="#impl-Push%3CReg64%3E-for-Asm">Push&lt;Reg64&gt;</a></li><li><a href="#impl-Test%3CReg64,+Reg64%3E-for-Asm">Test&lt;Reg64, Reg64&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Reg64">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg64">Send</a></li><li><a href="#impl-Sync-for-Reg64">Sync</a></li><li><a href="#impl-Unpin-for-Reg64">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg64">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Enum <a href="index.html">juicebox_asm</a>::<wbr><a class="enum" href="#">Reg64</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/juicebox_asm/reg.rs.html#78-80">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(u8)]</div>pub enum Reg64 {
+<!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="Definition of 64 bit registers."><title>Reg64 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 enum"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Reg64</a></h2><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.r10" title="r10">r10</a></li><li><a href="#variant.r11" title="r11">r11</a></li><li><a href="#variant.r12" title="r12">r12</a></li><li><a href="#variant.r13" title="r13">r13</a></li><li><a href="#variant.r14" title="r14">r14</a></li><li><a href="#variant.r15" title="r15">r15</a></li><li><a href="#variant.r8" title="r8">r8</a></li><li><a href="#variant.r9" title="r9">r9</a></li><li><a href="#variant.rax" title="rax">rax</a></li><li><a href="#variant.rbp" title="rbp">rbp</a></li><li><a href="#variant.rbx" title="rbx">rbx</a></li><li><a href="#variant.rcx" title="rcx">rcx</a></li><li><a href="#variant.rdi" title="rdi">rdi</a></li><li><a href="#variant.rdx" title="rdx">rdx</a></li><li><a href="#variant.rsi" title="rsi">rsi</a></li><li><a href="#variant.rsp" title="rsp">rsp</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CMemOp,+Reg64%3E-for-Asm" title="Add&#60;MemOp, Reg64&#62;">Add&#60;MemOp, Reg64&#62;</a></li><li><a href="#impl-Add%3CReg64,+MemOp%3E-for-Asm" title="Add&#60;Reg64, MemOp&#62;">Add&#60;Reg64, MemOp&#62;</a></li><li><a href="#impl-Add%3CReg64,+Reg64%3E-for-Asm" title="Add&#60;Reg64, Reg64&#62;">Add&#60;Reg64, Reg64&#62;</a></li><li><a href="#impl-Call%3CReg64%3E-for-Asm" title="Call&#60;Reg64&#62;">Call&#60;Reg64&#62;</a></li><li><a href="#impl-Clone-for-Reg64" title="Clone">Clone</a></li><li><a href="#impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" title="Cmovnz&#60;Reg64, Reg64&#62;">Cmovnz&#60;Reg64, Reg64&#62;</a></li><li><a href="#impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" title="Cmovz&#60;Reg64, Reg64&#62;">Cmovz&#60;Reg64, Reg64&#62;</a></li><li><a href="#impl-Copy-for-Reg64" title="Copy">Copy</a></li><li><a href="#impl-Dec%3CReg64%3E-for-Asm" title="Dec&#60;Reg64&#62;">Dec&#60;Reg64&#62;</a></li><li><a href="#impl-Inc%3CReg64%3E-for-Asm" title="Inc&#60;Reg64&#62;">Inc&#60;Reg64&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm" title="Mov&#60;MemOp, Reg64&#62;">Mov&#60;MemOp, Reg64&#62;</a></li><li><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm" title="Mov&#60;Reg64, Imm64&#62;">Mov&#60;Reg64, Imm64&#62;</a></li><li><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm" title="Mov&#60;Reg64, MemOp&#62;">Mov&#60;Reg64, MemOp&#62;</a></li><li><a href="#impl-Mov%3CReg64,+Reg64%3E-for-Asm" title="Mov&#60;Reg64, Reg64&#62;">Mov&#60;Reg64, Reg64&#62;</a></li><li><a href="#impl-Pop%3CReg64%3E-for-Asm" title="Pop&#60;Reg64&#62;">Pop&#60;Reg64&#62;</a></li><li><a href="#impl-Push%3CReg64%3E-for-Asm" title="Push&#60;Reg64&#62;">Push&#60;Reg64&#62;</a></li><li><a href="#impl-Test%3CReg64,+Reg64%3E-for-Asm" title="Test&#60;Reg64, Reg64&#62;">Test&#60;Reg64, Reg64&#62;</a></li><li><a href="#impl-Xor%3CReg64,+Reg64%3E-for-Asm" title="Xor&#60;Reg64, Reg64&#62;">Xor&#60;Reg64, Reg64&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Reg64" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Reg64" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg64" title="Send">Send</a></li><li><a href="#impl-Sync-for-Reg64" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Reg64" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg64" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Enum <span class="enum">Reg64</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/reg.rs.html#78-80">source</a> </span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(u8)]</div>pub enum Reg64 {
<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 16 variants</span></summary> rax = 0,
rcx = 1,
rdx = 2,
@@ -17,15 +16,16 @@
r14 = 14,
r15 = 15,
</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Definition of 64 bit registers.</p>
-</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.rax" class="variant"><a href="#variant.rax" class="anchor">§</a><h3 class="code-header">rax = 0</h3></section><section id="variant.rcx" class="variant"><a href="#variant.rcx" class="anchor">§</a><h3 class="code-header">rcx = 1</h3></section><section id="variant.rdx" class="variant"><a href="#variant.rdx" class="anchor">§</a><h3 class="code-header">rdx = 2</h3></section><section id="variant.rbx" class="variant"><a href="#variant.rbx" class="anchor">§</a><h3 class="code-header">rbx = 3</h3></section><section id="variant.rsp" class="variant"><a href="#variant.rsp" class="anchor">§</a><h3 class="code-header">rsp = 4</h3></section><section id="variant.rbp" class="variant"><a href="#variant.rbp" class="anchor">§</a><h3 class="code-header">rbp = 5</h3></section><section id="variant.rsi" class="variant"><a href="#variant.rsi" class="anchor">§</a><h3 class="code-header">rsi = 6</h3></section><section id="variant.rdi" class="variant"><a href="#variant.rdi" class="anchor">§</a><h3 class="code-header">rdi = 7</h3></section><section id="variant.r8" class="variant"><a href="#variant.r8" class="anchor">§</a><h3 class="code-header">r8 = 8</h3></section><section id="variant.r9" class="variant"><a href="#variant.r9" class="anchor">§</a><h3 class="code-header">r9 = 9</h3></section><section id="variant.r10" class="variant"><a href="#variant.r10" class="anchor">§</a><h3 class="code-header">r10 = 10</h3></section><section id="variant.r11" class="variant"><a href="#variant.r11" class="anchor">§</a><h3 class="code-header">r11 = 11</h3></section><section id="variant.r12" class="variant"><a href="#variant.r12" class="anchor">§</a><h3 class="code-header">r12 = 12</h3></section><section id="variant.r13" class="variant"><a href="#variant.r13" class="anchor">§</a><h3 class="code-header">r13 = 13</h3></section><section id="variant.r14" class="variant"><a href="#variant.r14" class="anchor">§</a><h3 class="code-header">r14 = 14</h3></section><section id="variant.r15" class="variant"><a href="#variant.r15" class="anchor">§</a><h3 class="code-header">r15 = 15</h3></section></div><h2 id="trait-implementations" class="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-Add%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#4-8">source</a><a href="#impl-Add%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#5-7">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Call%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/call.rs.html#4-8">source</a><a href="#impl-Call%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Call.html" title="trait juicebox_asm::insn::Call">Call</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.call" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/call.rs.html#5-7">source</a><a href="#method.call" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Call.html#tymethod.call" class="fn">call</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a call instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Reg64" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#78-80">source</a><a href="#impl-Clone-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#78-80">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.76.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovnz.rs.html#4-8">source</a><a href="#impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmovnz.html" title="trait juicebox_asm::insn::Cmovnz">Cmovnz</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmovnz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovnz.rs.html#5-7">source</a><a href="#method.cmovnz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmovnz.html#tymethod.cmovnz" class="fn">cmovnz</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a (conditional) move if not zero instruction. <a href="insn/trait.Cmovnz.html#tymethod.cmovnz">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovz.rs.html#4-8">source</a><a href="#impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmovz.html" title="trait juicebox_asm::insn::Cmovz">Cmovz</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmovz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovz.rs.html#5-7">source</a><a href="#method.cmovz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmovz.html#tymethod.cmovz" class="fn">cmovz</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a (conditional) move if zero instruction. <a href="insn/trait.Cmovz.html#tymethod.cmovz">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#4-8">source</a><a href="#impl-Dec%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#5-7">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#32-36">source</a><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#33-35">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#84-88">source</a><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#85-87">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#58-62">source</a><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#59-61">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#6-10">source</a><a href="#impl-Mov%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#7-9">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Pop%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#4-8">source</a><a href="#impl-Pop%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.pop" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#5-7">source</a><a href="#method.pop" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Pop.html#tymethod.pop" class="fn">pop</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a pop instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Push%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#4-8">source</a><a href="#impl-Push%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.push" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#5-7">source</a><a href="#method.push" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Push.html#tymethod.push" class="fn">push</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a push instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#4-8">source</a><a href="#impl-Test%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#5-7">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details><section id="impl-Copy-for-Reg64" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#78-80">source</a><a href="#impl-Copy-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Reg64" class="impl"><a href="#impl-RefUnwindSafe-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section><section id="impl-Send-for-Reg64" class="impl"><a href="#impl-Send-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section><section id="impl-Sync-for-Reg64" class="impl"><a href="#impl-Sync-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section><section id="impl-Unpin-for-Reg64" class="impl"><a href="#impl-Unpin-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section><section id="impl-UnwindSafe-for-Reg64" class="impl"><a href="#impl-UnwindSafe-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.rax" class="variant"><a href="#variant.rax" class="anchor">§</a><h3 class="code-header">rax = 0</h3></section><section id="variant.rcx" class="variant"><a href="#variant.rcx" class="anchor">§</a><h3 class="code-header">rcx = 1</h3></section><section id="variant.rdx" class="variant"><a href="#variant.rdx" class="anchor">§</a><h3 class="code-header">rdx = 2</h3></section><section id="variant.rbx" class="variant"><a href="#variant.rbx" class="anchor">§</a><h3 class="code-header">rbx = 3</h3></section><section id="variant.rsp" class="variant"><a href="#variant.rsp" class="anchor">§</a><h3 class="code-header">rsp = 4</h3></section><section id="variant.rbp" class="variant"><a href="#variant.rbp" class="anchor">§</a><h3 class="code-header">rbp = 5</h3></section><section id="variant.rsi" class="variant"><a href="#variant.rsi" class="anchor">§</a><h3 class="code-header">rsi = 6</h3></section><section id="variant.rdi" class="variant"><a href="#variant.rdi" class="anchor">§</a><h3 class="code-header">rdi = 7</h3></section><section id="variant.r8" class="variant"><a href="#variant.r8" class="anchor">§</a><h3 class="code-header">r8 = 8</h3></section><section id="variant.r9" class="variant"><a href="#variant.r9" class="anchor">§</a><h3 class="code-header">r9 = 9</h3></section><section id="variant.r10" class="variant"><a href="#variant.r10" class="anchor">§</a><h3 class="code-header">r10 = 10</h3></section><section id="variant.r11" class="variant"><a href="#variant.r11" class="anchor">§</a><h3 class="code-header">r11 = 11</h3></section><section id="variant.r12" class="variant"><a href="#variant.r12" class="anchor">§</a><h3 class="code-header">r12 = 12</h3></section><section id="variant.r13" class="variant"><a href="#variant.r13" class="anchor">§</a><h3 class="code-header">r13 = 13</h3></section><section id="variant.r14" class="variant"><a href="#variant.r14" class="anchor">§</a><h3 class="code-header">r14 = 14</h3></section><section id="variant.r15" class="variant"><a href="#variant.r15" class="anchor">§</a><h3 class="code-header">r15 = 15</h3></section></div><h2 id="trait-implementations" class="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-Add%3CMemOp,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#16-20">source</a><a href="#impl-Add%3CMemOp,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#17-19">source</a><a href="#method.add-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CReg64,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#34-38">source</a><a href="#impl-Add%3CReg64,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#35-37">source</a><a href="#method.add-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#4-8">source</a><a href="#impl-Add%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#5-7">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Call%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/call.rs.html#4-8">source</a><a href="#impl-Call%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Call.html" title="trait juicebox_asm::insn::Call">Call</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.call" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/call.rs.html#5-7">source</a><a href="#method.call" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Call.html#tymethod.call" class="fn">call</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a call instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Reg64" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#78-80">source</a><a href="#impl-Clone-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#78-80">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.83.0/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovnz.rs.html#4-8">source</a><a href="#impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmovnz.html" title="trait juicebox_asm::insn::Cmovnz">Cmovnz</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmovnz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovnz.rs.html#5-7">source</a><a href="#method.cmovnz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmovnz.html#tymethod.cmovnz" class="fn">cmovnz</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a (conditional) move if not zero instruction. <a href="insn/trait.Cmovnz.html#tymethod.cmovnz">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovz.rs.html#4-8">source</a><a href="#impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmovz.html" title="trait juicebox_asm::insn::Cmovz">Cmovz</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmovz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovz.rs.html#5-7">source</a><a href="#method.cmovz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmovz.html#tymethod.cmovz" class="fn">cmovz</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a (conditional) move if zero instruction. <a href="insn/trait.Cmovz.html#tymethod.cmovz">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#4-8">source</a><a href="#impl-Dec%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#5-7">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#4-8">source</a><a href="#impl-Inc%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#5-7">source</a><a href="#method.inc" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#32-36">source</a><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#33-35">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#84-88">source</a><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#85-87">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#58-62">source</a><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#59-61">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#6-10">source</a><a href="#impl-Mov%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#7-9">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Pop%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#4-8">source</a><a href="#impl-Pop%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.pop" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#5-7">source</a><a href="#method.pop" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Pop.html#tymethod.pop" class="fn">pop</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a pop instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Push%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#4-8">source</a><a href="#impl-Push%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.push" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#5-7">source</a><a href="#method.push" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Push.html#tymethod.push" class="fn">push</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a push instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#4-8">source</a><a href="#impl-Test%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#5-7">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Xor%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/xor.rs.html#4-8">source</a><a href="#impl-Xor%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Xor.html" title="trait juicebox_asm::insn::Xor">Xor</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.xor" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/xor.rs.html#5-7">source</a><a href="#method.xor" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Xor.html#tymethod.xor" class="fn">xor</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a xor instruction.</div></details></div></details><section id="impl-Copy-for-Reg64" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#78-80">source</a><a href="#impl-Copy-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Reg64" class="impl"><a href="#impl-Freeze-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section><section id="impl-RefUnwindSafe-for-Reg64" class="impl"><a href="#impl-RefUnwindSafe-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section><section id="impl-Send-for-Reg64" class="impl"><a href="#impl-Send-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section><section id="impl-Sync-for-Reg64" class="impl"><a href="#impl-Sync-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section><section id="impl-Unpin-for-Reg64" class="impl"><a href="#impl-Unpin-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section><section id="impl-UnwindSafe-for-Reg64" class="impl"><a href="#impl-UnwindSafe-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#273">source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.pointer.html">*mut T</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
- T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/enum.Reg8.html b/juicebox_asm/enum.Reg8.html
index aa8c402..38c3a49 100644
--- a/juicebox_asm/enum.Reg8.html
+++ b/juicebox_asm/enum.Reg8.html
@@ -1,5 +1,4 @@
-<!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="Definition of 8 bit registers."><title>Reg8 in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Reg8</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.ah">ah</a></li><li><a href="#variant.al">al</a></li><li><a href="#variant.bh">bh</a></li><li><a href="#variant.bl">bl</a></li><li><a href="#variant.bpl">bpl</a></li><li><a href="#variant.ch">ch</a></li><li><a href="#variant.cl">cl</a></li><li><a href="#variant.dh">dh</a></li><li><a href="#variant.dil">dil</a></li><li><a href="#variant.dl">dl</a></li><li><a href="#variant.r10l">r10l</a></li><li><a href="#variant.r11l">r11l</a></li><li><a href="#variant.r12l">r12l</a></li><li><a href="#variant.r13l">r13l</a></li><li><a href="#variant.r14l">r14l</a></li><li><a href="#variant.r15l">r15l</a></li><li><a href="#variant.r8l">r8l</a></li><li><a href="#variant.r9l">r9l</a></li><li><a href="#variant.sil">sil</a></li><li><a href="#variant.spl">spl</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Reg8">Clone</a></li><li><a href="#impl-Copy-for-Reg8">Copy</a></li><li><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm">Mov&lt;MemOp, Reg8&gt;</a></li><li><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm">Mov&lt;Reg8, Imm8&gt;</a></li><li><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm">Mov&lt;Reg8, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg8,+Reg8%3E-for-Asm">Mov&lt;Reg8, Reg8&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Reg8">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg8">Send</a></li><li><a href="#impl-Sync-for-Reg8">Sync</a></li><li><a href="#impl-Unpin-for-Reg8">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg8">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Enum <a href="index.html">juicebox_asm</a>::<wbr><a class="enum" href="#">Reg8</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/juicebox_asm/reg.rs.html#87-90">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(u8)]</div>pub enum Reg8 {
+<!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="Definition of 8 bit registers."><title>Reg8 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 enum"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Reg8</a></h2><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.ah" title="ah">ah</a></li><li><a href="#variant.al" title="al">al</a></li><li><a href="#variant.bh" title="bh">bh</a></li><li><a href="#variant.bl" title="bl">bl</a></li><li><a href="#variant.bpl" title="bpl">bpl</a></li><li><a href="#variant.ch" title="ch">ch</a></li><li><a href="#variant.cl" title="cl">cl</a></li><li><a href="#variant.dh" title="dh">dh</a></li><li><a href="#variant.dil" title="dil">dil</a></li><li><a href="#variant.dl" title="dl">dl</a></li><li><a href="#variant.r10l" title="r10l">r10l</a></li><li><a href="#variant.r11l" title="r11l">r11l</a></li><li><a href="#variant.r12l" title="r12l">r12l</a></li><li><a href="#variant.r13l" title="r13l">r13l</a></li><li><a href="#variant.r14l" title="r14l">r14l</a></li><li><a href="#variant.r15l" title="r15l">r15l</a></li><li><a href="#variant.r8l" title="r8l">r8l</a></li><li><a href="#variant.r9l" title="r9l">r9l</a></li><li><a href="#variant.sil" title="sil">sil</a></li><li><a href="#variant.spl" title="spl">spl</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Reg8" title="Clone">Clone</a></li><li><a href="#impl-Copy-for-Reg8" title="Copy">Copy</a></li><li><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm" title="Mov&#60;MemOp, Reg8&#62;">Mov&#60;MemOp, Reg8&#62;</a></li><li><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm" title="Mov&#60;Reg8, Imm8&#62;">Mov&#60;Reg8, Imm8&#62;</a></li><li><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm" title="Mov&#60;Reg8, MemOp&#62;">Mov&#60;Reg8, MemOp&#62;</a></li><li><a href="#impl-Mov%3CReg8,+Reg8%3E-for-Asm" title="Mov&#60;Reg8, Reg8&#62;">Mov&#60;Reg8, Reg8&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Reg8" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Reg8" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg8" title="Send">Send</a></li><li><a href="#impl-Sync-for-Reg8" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Reg8" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg8" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Enum <span class="enum">Reg8</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/reg.rs.html#87-90">source</a> </span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(u8)]</div>pub enum Reg8 {
<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 20 variants</span></summary> al = 0,
cl = 1,
dl = 2,
@@ -21,15 +20,16 @@
dh = 18,
bh = 19,
</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Definition of 8 bit registers.</p>
-</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.al" class="variant"><a href="#variant.al" class="anchor">§</a><h3 class="code-header">al = 0</h3></section><section id="variant.cl" class="variant"><a href="#variant.cl" class="anchor">§</a><h3 class="code-header">cl = 1</h3></section><section id="variant.dl" class="variant"><a href="#variant.dl" class="anchor">§</a><h3 class="code-header">dl = 2</h3></section><section id="variant.bl" class="variant"><a href="#variant.bl" class="anchor">§</a><h3 class="code-header">bl = 3</h3></section><section id="variant.spl" class="variant"><a href="#variant.spl" class="anchor">§</a><h3 class="code-header">spl = 4</h3></section><section id="variant.bpl" class="variant"><a href="#variant.bpl" class="anchor">§</a><h3 class="code-header">bpl = 5</h3></section><section id="variant.sil" class="variant"><a href="#variant.sil" class="anchor">§</a><h3 class="code-header">sil = 6</h3></section><section id="variant.dil" class="variant"><a href="#variant.dil" class="anchor">§</a><h3 class="code-header">dil = 7</h3></section><section id="variant.r8l" class="variant"><a href="#variant.r8l" class="anchor">§</a><h3 class="code-header">r8l = 8</h3></section><section id="variant.r9l" class="variant"><a href="#variant.r9l" class="anchor">§</a><h3 class="code-header">r9l = 9</h3></section><section id="variant.r10l" class="variant"><a href="#variant.r10l" class="anchor">§</a><h3 class="code-header">r10l = 10</h3></section><section id="variant.r11l" class="variant"><a href="#variant.r11l" class="anchor">§</a><h3 class="code-header">r11l = 11</h3></section><section id="variant.r12l" class="variant"><a href="#variant.r12l" class="anchor">§</a><h3 class="code-header">r12l = 12</h3></section><section id="variant.r13l" class="variant"><a href="#variant.r13l" class="anchor">§</a><h3 class="code-header">r13l = 13</h3></section><section id="variant.r14l" class="variant"><a href="#variant.r14l" class="anchor">§</a><h3 class="code-header">r14l = 14</h3></section><section id="variant.r15l" class="variant"><a href="#variant.r15l" class="anchor">§</a><h3 class="code-header">r15l = 15</h3></section><section id="variant.ah" class="variant"><a href="#variant.ah" class="anchor">§</a><h3 class="code-header">ah = 16</h3></section><section id="variant.ch" class="variant"><a href="#variant.ch" class="anchor">§</a><h3 class="code-header">ch = 17</h3></section><section id="variant.dh" class="variant"><a href="#variant.dh" class="anchor">§</a><h3 class="code-header">dh = 18</h3></section><section id="variant.bh" class="variant"><a href="#variant.bh" class="anchor">§</a><h3 class="code-header">bh = 19</h3></section></div><h2 id="trait-implementations" class="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-Clone-for-Reg8" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#87-90">source</a><a href="#impl-Clone-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#87-90">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.76.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#50-54">source</a><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#51-53">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#102-106">source</a><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#103-105">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#76-80">source</a><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#77-79">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#24-28">source</a><a href="#impl-Mov%3CReg8,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#25-27">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><section id="impl-Copy-for-Reg8" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#87-90">source</a><a href="#impl-Copy-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Reg8" class="impl"><a href="#impl-RefUnwindSafe-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section><section id="impl-Send-for-Reg8" class="impl"><a href="#impl-Send-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section><section id="impl-Sync-for-Reg8" class="impl"><a href="#impl-Sync-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section><section id="impl-Unpin-for-Reg8" class="impl"><a href="#impl-Unpin-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section><section id="impl-UnwindSafe-for-Reg8" class="impl"><a href="#impl-UnwindSafe-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.al" class="variant"><a href="#variant.al" class="anchor">§</a><h3 class="code-header">al = 0</h3></section><section id="variant.cl" class="variant"><a href="#variant.cl" class="anchor">§</a><h3 class="code-header">cl = 1</h3></section><section id="variant.dl" class="variant"><a href="#variant.dl" class="anchor">§</a><h3 class="code-header">dl = 2</h3></section><section id="variant.bl" class="variant"><a href="#variant.bl" class="anchor">§</a><h3 class="code-header">bl = 3</h3></section><section id="variant.spl" class="variant"><a href="#variant.spl" class="anchor">§</a><h3 class="code-header">spl = 4</h3></section><section id="variant.bpl" class="variant"><a href="#variant.bpl" class="anchor">§</a><h3 class="code-header">bpl = 5</h3></section><section id="variant.sil" class="variant"><a href="#variant.sil" class="anchor">§</a><h3 class="code-header">sil = 6</h3></section><section id="variant.dil" class="variant"><a href="#variant.dil" class="anchor">§</a><h3 class="code-header">dil = 7</h3></section><section id="variant.r8l" class="variant"><a href="#variant.r8l" class="anchor">§</a><h3 class="code-header">r8l = 8</h3></section><section id="variant.r9l" class="variant"><a href="#variant.r9l" class="anchor">§</a><h3 class="code-header">r9l = 9</h3></section><section id="variant.r10l" class="variant"><a href="#variant.r10l" class="anchor">§</a><h3 class="code-header">r10l = 10</h3></section><section id="variant.r11l" class="variant"><a href="#variant.r11l" class="anchor">§</a><h3 class="code-header">r11l = 11</h3></section><section id="variant.r12l" class="variant"><a href="#variant.r12l" class="anchor">§</a><h3 class="code-header">r12l = 12</h3></section><section id="variant.r13l" class="variant"><a href="#variant.r13l" class="anchor">§</a><h3 class="code-header">r13l = 13</h3></section><section id="variant.r14l" class="variant"><a href="#variant.r14l" class="anchor">§</a><h3 class="code-header">r14l = 14</h3></section><section id="variant.r15l" class="variant"><a href="#variant.r15l" class="anchor">§</a><h3 class="code-header">r15l = 15</h3></section><section id="variant.ah" class="variant"><a href="#variant.ah" class="anchor">§</a><h3 class="code-header">ah = 16</h3></section><section id="variant.ch" class="variant"><a href="#variant.ch" class="anchor">§</a><h3 class="code-header">ch = 17</h3></section><section id="variant.dh" class="variant"><a href="#variant.dh" class="anchor">§</a><h3 class="code-header">dh = 18</h3></section><section id="variant.bh" class="variant"><a href="#variant.bh" class="anchor">§</a><h3 class="code-header">bh = 19</h3></section></div><h2 id="trait-implementations" class="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-Clone-for-Reg8" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#87-90">source</a><a href="#impl-Clone-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#87-90">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.83.0/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#50-54">source</a><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#51-53">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#102-106">source</a><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#103-105">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#76-80">source</a><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#77-79">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#24-28">source</a><a href="#impl-Mov%3CReg8,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#25-27">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><section id="impl-Copy-for-Reg8" class="impl"><a class="src rightside" href="../src/juicebox_asm/reg.rs.html#87-90">source</a><a href="#impl-Copy-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Reg8" class="impl"><a href="#impl-Freeze-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section><section id="impl-RefUnwindSafe-for-Reg8" class="impl"><a href="#impl-RefUnwindSafe-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section><section id="impl-Send-for-Reg8" class="impl"><a href="#impl-Send-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section><section id="impl-Sync-for-Reg8" class="impl"><a href="#impl-Sync-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section><section id="impl-Unpin-for-Reg8" class="impl"><a href="#impl-Unpin-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section><section id="impl-UnwindSafe-for-Reg8" class="impl"><a href="#impl-UnwindSafe-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#273">source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.pointer.html">*mut T</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
- T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/index.html b/juicebox_asm/index.html
index c53f65d..82627c1 100644
--- a/juicebox_asm/index.html
+++ b/juicebox_asm/index.html
@@ -1,6 +1,4 @@
-<!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 simple `x64` jit assembler with a minimal runtime to execute emitted code for fun."><title>juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block">
- <li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></section></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Crate <a class="mod" href="#">juicebox_asm</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/juicebox_asm/lib.rs.html#1-107">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A simple <code>x64</code> jit assembler with a minimal runtime to execute emitted code for fun.</p>
+<!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 simple `x64` jit assembler with a minimal runtime to execute emitted code for fun."><title>juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod crate"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#modules">Crate Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>juicebox_asm</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/lib.rs.html#1-164">source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A simple <code>x64</code> jit assembler with a minimal runtime to execute emitted code for fun.</p>
<p>The following is an fibonacci example implementation.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>juicebox_asm::{Asm, Reg64, Imm64, Label};
@@ -72,4 +70,4 @@
<span class="macro">assert_eq!</span>(fib_jit, fib_rs(n));
}
}</code></pre></div>
-</div></details><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="insn/index.html" title="mod juicebox_asm::insn">insn</a></div><div class="desc docblock-short">Trait definitions of various instructions.</div></li></ul><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></div><div class="desc docblock-short"><code>x64</code> jit assembler.</div></li><li><div class="item-name"><a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></div><div class="desc docblock-short">Type representing an 8 bit immediate.</div></li><li><div class="item-name"><a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></div><div class="desc docblock-short">Type representing a 16 bit immediate.</div></li><li><div class="item-name"><a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></div><div class="desc docblock-short">Type representing a 32 bit immediate.</div></li><li><div class="item-name"><a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></div><div class="desc docblock-short">Type representing a 64 bit immediate.</div></li><li><div class="item-name"><a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></div><div class="desc docblock-short">A label which is used as target for jump instructions.</div></li><li><div class="item-name"><a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></div><div class="desc docblock-short">A simple <code>mmap</code>ed runtime with executable pages.</div></li></ul><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></div><div class="desc docblock-short">Type representing a memory operand.</div></li><li><div class="item-name"><a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></div><div class="desc docblock-short">Definition of 8 bit registers.</div></li><li><div class="item-name"><a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></div><div class="desc docblock-short">Definition of 16 bit registers.</div></li><li><div class="item-name"><a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></div><div class="desc docblock-short">Definition of 32 bit registers.</div></li><li><div class="item-name"><a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></div><div class="desc docblock-short">Definition of 64 bit registers.</div></li></ul></section></div></main></body></html> \ No newline at end of file
+</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="insn/index.html" title="mod juicebox_asm::insn">insn</a></div><div class="desc docblock-short">Trait definitions of various instructions.</div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></div><div class="desc docblock-short"><code>x64</code> jit assembler.</div></li><li><div class="item-name"><a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></div><div class="desc docblock-short">Type representing an 8 bit immediate.</div></li><li><div class="item-name"><a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></div><div class="desc docblock-short">Type representing a 16 bit immediate.</div></li><li><div class="item-name"><a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></div><div class="desc docblock-short">Type representing a 32 bit immediate.</div></li><li><div class="item-name"><a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></div><div class="desc docblock-short">Type representing a 64 bit immediate.</div></li><li><div class="item-name"><a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></div><div class="desc docblock-short">A label which is used as target for jump instructions.</div></li><li><div class="item-name"><a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a></div><div class="desc docblock-short">A memory operand with a word (8 bit) size hint.</div></li><li><div class="item-name"><a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a></div><div class="desc docblock-short">A memory operand with a word (16 bit) size hint.</div></li><li><div class="item-name"><a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a></div><div class="desc docblock-short">A memory operand with a dword (32 bit) size hint.</div></li><li><div class="item-name"><a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a></div><div class="desc docblock-short">A memory operand with a qword (64 bit) size hint.</div></li><li><div class="item-name"><a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></div><div class="desc docblock-short">A simple <code>mmap</code>ed runtime with executable pages.</div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></div><div class="desc docblock-short">Type representing a memory operand.</div></li><li><div class="item-name"><a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a></div><div class="desc docblock-short">Definition of 8 bit registers.</div></li><li><div class="item-name"><a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a></div><div class="desc docblock-short">Definition of 16 bit registers.</div></li><li><div class="item-name"><a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a></div><div class="desc docblock-short">Definition of 32 bit registers.</div></li><li><div class="item-name"><a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a></div><div class="desc docblock-short">Definition of 64 bit registers.</div></li></ul></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/index.html b/juicebox_asm/insn/index.html
index 093289e..5301890 100644
--- a/juicebox_asm/insn/index.html
+++ b/juicebox_asm/insn/index.html
@@ -1,3 +1,2 @@
-<!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="Trait definitions of various instructions."><title>juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Module insn</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#traits">Traits</a></li></ul></section><h2><a href="../index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Module <a href="../index.html">juicebox_asm</a>::<wbr><a class="mod" href="#">insn</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/juicebox_asm/insn.rs.html#1-103">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait definitions of various instructions.</p>
-</div></details><h2 id="traits" class="section-header"><a href="#traits">Traits</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/add"><code>add</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Call.html" title="trait juicebox_asm::insn::Call">Call</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/call"><code>call</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Cmovnz.html" title="trait juicebox_asm::insn::Cmovnz">Cmovnz</a></div></li><li><div class="item-name"><a class="trait" href="trait.Cmovz.html" title="trait juicebox_asm::insn::Cmovz">Cmovz</a></div></li><li><div class="item-name"><a class="trait" href="trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/cmp"><code>cmp</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/dec"><code>dec</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Jmp.html" title="trait juicebox_asm::insn::Jmp">Jmp</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/jmp"><code>jmp</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Jnz.html" title="trait juicebox_asm::insn::Jnz">Jnz</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/jcc"><code>jnz</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Jz.html" title="trait juicebox_asm::insn::Jz">Jz</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/jcc"><code>jz</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/mov"><code>mov</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/pop"><code>pop</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/push"><code>push</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/test"><code>test</code></a> instruction kinds.</div></li></ul></section></div></main></body></html> \ No newline at end of file
+<!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="Trait definitions of various instructions."><title>juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module insn</a></h2><h3><a href="#traits">Module Items</a></h3><ul class="block"><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a></span><h1>Module <span>insn</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#1-117">source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait definitions of various instructions.</p>
+</div></details><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/add"><code>add</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Call.html" title="trait juicebox_asm::insn::Call">Call</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/call"><code>call</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Cmovnz.html" title="trait juicebox_asm::insn::Cmovnz">Cmovnz</a></div></li><li><div class="item-name"><a class="trait" href="trait.Cmovz.html" title="trait juicebox_asm::insn::Cmovz">Cmovz</a></div></li><li><div class="item-name"><a class="trait" href="trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/cmp"><code>cmp</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/dec"><code>dec</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/inc"><code>inc</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Jmp.html" title="trait juicebox_asm::insn::Jmp">Jmp</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/jmp"><code>jmp</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Jnz.html" title="trait juicebox_asm::insn::Jnz">Jnz</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/jcc"><code>jnz</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Jz.html" title="trait juicebox_asm::insn::Jz">Jz</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/jcc"><code>jz</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/mov"><code>mov</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/pop"><code>pop</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/push"><code>push</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/test"><code>test</code></a> instruction kinds.</div></li><li><div class="item-name"><a class="trait" href="trait.Xor.html" title="trait juicebox_asm::insn::Xor">Xor</a></div><div class="desc docblock-short">Trait for <a href="https://www.felixcloutier.com/x86/xor"><code>xor</code></a> instruction kinds.</div></li></ul></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/sidebar-items.js b/juicebox_asm/insn/sidebar-items.js
index 894686f..19a48ac 100644
--- a/juicebox_asm/insn/sidebar-items.js
+++ b/juicebox_asm/insn/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"trait":["Add","Call","Cmovnz","Cmovz","Cmp","Dec","Jmp","Jnz","Jz","Mov","Pop","Push","Test"]}; \ No newline at end of file
+window.SIDEBAR_ITEMS = {"trait":["Add","Call","Cmovnz","Cmovz","Cmp","Dec","Inc","Jmp","Jnz","Jz","Mov","Pop","Push","Test","Xor"]}; \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Add.html b/juicebox_asm/insn/trait.Add.html
index ab5accc..54795b8 100644
--- a/juicebox_asm/insn/trait.Add.html
+++ b/juicebox_asm/insn/trait.Add.html
@@ -1,7 +1,6 @@
-<!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="Trait for `add` instruction kinds."><title>Add in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Add</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.add">add</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Add</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/juicebox_asm/insn.rs.html#20-23">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Add&lt;T, U&gt; {
+<!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="Trait for `add` instruction kinds."><title>Add in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Add</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.add" title="add">add</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Add</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#22-25">source</a> </span></div><pre class="rust item-decl"><code>pub trait Add&lt;T, U&gt; {
// Required method
fn <a href="#tymethod.add" class="fn">add</a>(&amp;mut self, op1: T, op2: U);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/add"><code>add</code></a> instruction kinds.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.add" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#22">source</a><h4 class="code-header">fn <a href="#tymethod.add" class="fn">add</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit an add instruction.</p>
-</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/add.rs.html#16-20">source</a><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="../enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Add%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/add.rs.html#22-26">source</a><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="../struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Add%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/add.rs.html#10-14">source</a><a href="#impl-Add%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Add%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/add.rs.html#4-8">source</a><a href="#impl-Add%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Add.js" async></script></section></div></main></body></html> \ No newline at end of file
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.add" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#24">source</a><h4 class="code-header">fn <a href="#tymethod.add" class="fn">add</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit an add instruction.</p>
+</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/add.rs.html#22-26">source</a><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="../enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Add%3CMemOp,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/add.rs.html#16-20">source</a><a href="#impl-Add%3CMemOp,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Add%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/add.rs.html#28-32">source</a><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="../struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Add%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/add.rs.html#10-14">source</a><a href="#impl-Add%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Add%3CReg64,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/add.rs.html#34-38">source</a><a href="#impl-Add%3CReg64,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Add%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/add.rs.html#4-8">source</a><a href="#impl-Add%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Add.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Call.html b/juicebox_asm/insn/trait.Call.html
index 6d929cb..f3fb14f 100644
--- a/juicebox_asm/insn/trait.Call.html
+++ b/juicebox_asm/insn/trait.Call.html
@@ -1,7 +1,6 @@
-<!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="Trait for `call` instruction kinds."><title>Call in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Call</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.call">call</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Call</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/juicebox_asm/insn.rs.html#26-29">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Call&lt;T&gt; {
+<!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="Trait for `call` instruction kinds."><title>Call in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Call</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.call" title="call">call</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Call</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#28-31">source</a> </span></div><pre class="rust item-decl"><code>pub trait Call&lt;T&gt; {
// Required method
fn <a href="#tymethod.call" class="fn">call</a>(&amp;mut self, op1: T);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/call"><code>call</code></a> instruction kinds.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.call" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#28">source</a><h4 class="code-header">fn <a href="#tymethod.call" class="fn">call</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a call instruction.</p>
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.call" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#30">source</a><h4 class="code-header">fn <a href="#tymethod.call" class="fn">call</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a call instruction.</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Call%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/call.rs.html#4-8">source</a><a href="#impl-Call%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Call.html" title="trait juicebox_asm::insn::Call">Call</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Call.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Cmovnz.html b/juicebox_asm/insn/trait.Cmovnz.html
index ca0fef1..ff3c217 100644
--- a/juicebox_asm/insn/trait.Cmovnz.html
+++ b/juicebox_asm/insn/trait.Cmovnz.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Cmovnz` trait in crate `juicebox_asm`."><title>Cmovnz in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Cmovnz</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.cmovnz">cmovnz</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Cmovnz</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/juicebox_asm/insn.rs.html#31-36">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Cmovnz&lt;T, U&gt; {
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Cmovnz` trait in crate `juicebox_asm`."><title>Cmovnz in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Cmovnz</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.cmovnz" title="cmovnz">cmovnz</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Cmovnz</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#33-38">source</a> </span></div><pre class="rust item-decl"><code>pub trait Cmovnz&lt;T, U&gt; {
// Required method
fn <a href="#tymethod.cmovnz" class="fn">cmovnz</a>(&amp;mut self, op1: T, op2: U);
-}</code></pre><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.cmovnz" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#35">source</a><h4 class="code-header">fn <a href="#tymethod.cmovnz" class="fn">cmovnz</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit a (conditional) move if not zero instruction.</p>
+}</code></pre><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.cmovnz" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#37">source</a><h4 class="code-header">fn <a href="#tymethod.cmovnz" class="fn">cmovnz</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit a (conditional) move if not zero instruction.</p>
<p>Move is only commited if (ZF=0).</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/cmovnz.rs.html#4-8">source</a><a href="#impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Cmovnz.html" title="trait juicebox_asm::insn::Cmovnz">Cmovnz</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Cmovnz.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Cmovz.html b/juicebox_asm/insn/trait.Cmovz.html
index 3da1ed4..78ee268 100644
--- a/juicebox_asm/insn/trait.Cmovz.html
+++ b/juicebox_asm/insn/trait.Cmovz.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Cmovz` trait in crate `juicebox_asm`."><title>Cmovz in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Cmovz</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.cmovz">cmovz</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Cmovz</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/juicebox_asm/insn.rs.html#38-43">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Cmovz&lt;T, U&gt; {
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Cmovz` trait in crate `juicebox_asm`."><title>Cmovz in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Cmovz</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.cmovz" title="cmovz">cmovz</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Cmovz</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#40-45">source</a> </span></div><pre class="rust item-decl"><code>pub trait Cmovz&lt;T, U&gt; {
// Required method
fn <a href="#tymethod.cmovz" class="fn">cmovz</a>(&amp;mut self, op1: T, op2: U);
-}</code></pre><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.cmovz" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#42">source</a><h4 class="code-header">fn <a href="#tymethod.cmovz" class="fn">cmovz</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit a (conditional) move if zero instruction.</p>
+}</code></pre><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.cmovz" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#44">source</a><h4 class="code-header">fn <a href="#tymethod.cmovz" class="fn">cmovz</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit a (conditional) move if zero instruction.</p>
<p>Move is only commited if (ZF=1).</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/cmovz.rs.html#4-8">source</a><a href="#impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Cmovz.html" title="trait juicebox_asm::insn::Cmovz">Cmovz</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Cmovz.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Cmp.html b/juicebox_asm/insn/trait.Cmp.html
index 9c57b54..508ac27 100644
--- a/juicebox_asm/insn/trait.Cmp.html
+++ b/juicebox_asm/insn/trait.Cmp.html
@@ -1,9 +1,8 @@
-<!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="Trait for `cmp` instruction kinds."><title>Cmp in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Cmp</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.cmp">cmp</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Cmp</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/juicebox_asm/insn.rs.html#46-52">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Cmp&lt;T, U&gt; {
+<!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="Trait for `cmp` instruction kinds."><title>Cmp in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Cmp</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.cmp" title="cmp">cmp</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Cmp</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#48-54">source</a> </span></div><pre class="rust item-decl"><code>pub trait Cmp&lt;T, U&gt; {
// Required method
fn <a href="#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: T, op2: U);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/cmp"><code>cmp</code></a> instruction kinds.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.cmp" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#51">source</a><h4 class="code-header">fn <a href="#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit a compare instruction.</p>
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.cmp" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#53">source</a><h4 class="code-header">fn <a href="#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit a compare instruction.</p>
<p>Computes <code>op2 - op1</code> and sets the status flags in the same way as the <code>sub</code> instruction,
the result is discarded.</p>
-</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/cmp.rs.html#4-8">source</a><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="../struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Cmp.js" async></script></section></div></main></body></html> \ No newline at end of file
+</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Cmp%3CMemOp,+Imm8%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/cmp.rs.html#4-8">source</a><a href="#impl-Cmp%3CMemOp,+Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="../struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/cmp.rs.html#10-14">source</a><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="../struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Cmp.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Dec.html b/juicebox_asm/insn/trait.Dec.html
index 2f9ce80..6d01959 100644
--- a/juicebox_asm/insn/trait.Dec.html
+++ b/juicebox_asm/insn/trait.Dec.html
@@ -1,7 +1,6 @@
-<!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="Trait for `dec` instruction kinds."><title>Dec in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Dec</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.dec">dec</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Dec</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/juicebox_asm/insn.rs.html#55-58">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Dec&lt;T&gt; {
+<!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="Trait for `dec` instruction kinds."><title>Dec in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Dec</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.dec" title="dec">dec</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Dec</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#57-60">source</a> </span></div><pre class="rust item-decl"><code>pub trait Dec&lt;T&gt; {
// Required method
fn <a href="#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: T);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/dec"><code>dec</code></a> instruction kinds.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.dec" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#57">source</a><h4 class="code-header">fn <a href="#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a decrement instruction.</p>
-</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Dec%3CReg32%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/dec.rs.html#10-14">source</a><a href="#impl-Dec%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Dec%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/dec.rs.html#4-8">source</a><a href="#impl-Dec%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Dec.js" async></script></section></div></main></body></html> \ No newline at end of file
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.dec" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#59">source</a><h4 class="code-header">fn <a href="#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a decrement instruction.</p>
+</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Dec%3CReg32%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/dec.rs.html#10-14">source</a><a href="#impl-Dec%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Dec%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/dec.rs.html#4-8">source</a><a href="#impl-Dec%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Dec%3CMemOp8%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/dec.rs.html#16-20">source</a><a href="#impl-Dec%3CMemOp8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="../struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Dec%3CMemOp16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/dec.rs.html#22-26">source</a><a href="#impl-Dec%3CMemOp16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="../struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Dec%3CMemOp32%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/dec.rs.html#28-32">source</a><a href="#impl-Dec%3CMemOp32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="../struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Dec%3CMemOp64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/dec.rs.html#34-38">source</a><a href="#impl-Dec%3CMemOp64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="../struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Dec.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Inc.html b/juicebox_asm/insn/trait.Inc.html
new file mode 100644
index 0000000..eac88f8
--- /dev/null
+++ b/juicebox_asm/insn/trait.Inc.html
@@ -0,0 +1,6 @@
+<!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="Trait for `inc` instruction kinds."><title>Inc in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Inc</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.inc" title="inc">inc</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Inc</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#63-66">source</a> </span></div><pre class="rust item-decl"><code>pub trait Inc&lt;T&gt; {
+ // Required method
+ fn <a href="#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: T);
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/inc"><code>inc</code></a> instruction kinds.</p>
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.inc" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#65">source</a><h4 class="code-header">fn <a href="#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a increment instruction.</p>
+</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Inc%3CReg32%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/inc.rs.html#10-14">source</a><a href="#impl-Inc%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Inc%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/inc.rs.html#4-8">source</a><a href="#impl-Inc%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Inc%3CMemOp8%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/inc.rs.html#16-20">source</a><a href="#impl-Inc%3CMemOp8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="../struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Inc%3CMemOp16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/inc.rs.html#22-26">source</a><a href="#impl-Inc%3CMemOp16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="../struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Inc%3CMemOp32%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/inc.rs.html#28-32">source</a><a href="#impl-Inc%3CMemOp32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="../struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Inc%3CMemOp64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/inc.rs.html#34-38">source</a><a href="#impl-Inc%3CMemOp64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="../struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Inc.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Jmp.html b/juicebox_asm/insn/trait.Jmp.html
index e7e8cba..d11388b 100644
--- a/juicebox_asm/insn/trait.Jmp.html
+++ b/juicebox_asm/insn/trait.Jmp.html
@@ -1,7 +1,6 @@
-<!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="Trait for `jmp` instruction kinds."><title>Jmp in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Jmp</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.jmp">jmp</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Jmp</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/juicebox_asm/insn.rs.html#61-64">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Jmp&lt;T&gt; {
+<!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="Trait for `jmp` instruction kinds."><title>Jmp in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Jmp</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.jmp" title="jmp">jmp</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Jmp</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#69-72">source</a> </span></div><pre class="rust item-decl"><code>pub trait Jmp&lt;T&gt; {
// Required method
fn <a href="#tymethod.jmp" class="fn">jmp</a>(&amp;mut self, op1: T);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/jmp"><code>jmp</code></a> instruction kinds.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.jmp" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#63">source</a><h4 class="code-header">fn <a href="#tymethod.jmp" class="fn">jmp</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit an unconditional jump instruction.</p>
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.jmp" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#71">source</a><h4 class="code-header">fn <a href="#tymethod.jmp" class="fn">jmp</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit an unconditional jump instruction.</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Jmp%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/jmp.rs.html#4-8">source</a><a href="#impl-Jmp%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Jmp.html" title="trait juicebox_asm::insn::Jmp">Jmp</a>&lt;&amp;mut <a class="struct" href="../struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Jmp.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Jnz.html b/juicebox_asm/insn/trait.Jnz.html
index b8a0a51..e3670fa 100644
--- a/juicebox_asm/insn/trait.Jnz.html
+++ b/juicebox_asm/insn/trait.Jnz.html
@@ -1,7 +1,6 @@
-<!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="Trait for `jnz` instruction kinds."><title>Jnz in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Jnz</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.jnz">jnz</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Jnz</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/juicebox_asm/insn.rs.html#67-70">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Jnz&lt;T&gt; {
+<!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="Trait for `jnz` instruction kinds."><title>Jnz in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Jnz</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.jnz" title="jnz">jnz</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Jnz</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#75-78">source</a> </span></div><pre class="rust item-decl"><code>pub trait Jnz&lt;T&gt; {
// Required method
fn <a href="#tymethod.jnz" class="fn">jnz</a>(&amp;mut self, op1: T);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/jcc"><code>jnz</code></a> instruction kinds.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.jnz" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#69">source</a><h4 class="code-header">fn <a href="#tymethod.jnz" class="fn">jnz</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a conditional jump if not zero instruction (<code>ZF = 0</code>).</p>
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.jnz" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#77">source</a><h4 class="code-header">fn <a href="#tymethod.jnz" class="fn">jnz</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a conditional jump if not zero instruction (<code>ZF = 0</code>).</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Jnz%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/jnz.rs.html#4-8">source</a><a href="#impl-Jnz%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Jnz.html" title="trait juicebox_asm::insn::Jnz">Jnz</a>&lt;&amp;mut <a class="struct" href="../struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Jnz.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Jz.html b/juicebox_asm/insn/trait.Jz.html
index 7e6020b..e34e0df 100644
--- a/juicebox_asm/insn/trait.Jz.html
+++ b/juicebox_asm/insn/trait.Jz.html
@@ -1,7 +1,6 @@
-<!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="Trait for `jz` instruction kinds."><title>Jz in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Jz</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.jz">jz</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Jz</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/juicebox_asm/insn.rs.html#73-76">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Jz&lt;T&gt; {
+<!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="Trait for `jz` instruction kinds."><title>Jz in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Jz</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.jz" title="jz">jz</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Jz</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#81-84">source</a> </span></div><pre class="rust item-decl"><code>pub trait Jz&lt;T&gt; {
// Required method
fn <a href="#tymethod.jz" class="fn">jz</a>(&amp;mut self, op1: T);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/jcc"><code>jz</code></a> instruction kinds.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.jz" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#75">source</a><h4 class="code-header">fn <a href="#tymethod.jz" class="fn">jz</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a conditional jump if zero instruction (<code>ZF = 1</code>).</p>
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.jz" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#83">source</a><h4 class="code-header">fn <a href="#tymethod.jz" class="fn">jz</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a conditional jump if zero instruction (<code>ZF = 1</code>).</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Jz%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/jz.rs.html#4-8">source</a><a href="#impl-Jz%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Jz.html" title="trait juicebox_asm::insn::Jz">Jz</a>&lt;&amp;mut <a class="struct" href="../struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Jz.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Mov.html b/juicebox_asm/insn/trait.Mov.html
index 63bb10e..25c38d7 100644
--- a/juicebox_asm/insn/trait.Mov.html
+++ b/juicebox_asm/insn/trait.Mov.html
@@ -1,7 +1,6 @@
-<!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="Trait for `mov` instruction kinds."><title>Mov in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Mov</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.mov">mov</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Mov</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/juicebox_asm/insn.rs.html#79-82">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Mov&lt;T, U&gt; {
+<!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="Trait for `mov` instruction kinds."><title>Mov in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Mov</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.mov" title="mov">mov</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Mov</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#87-90">source</a> </span></div><pre class="rust item-decl"><code>pub trait Mov&lt;T, U&gt; {
// Required method
fn <a href="#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: T, op2: U);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/mov"><code>mov</code></a> instruction kinds.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.mov" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#81">source</a><h4 class="code-header">fn <a href="#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit an move instruction.</p>
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.mov" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#89">source</a><h4 class="code-header">fn <a href="#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit an move instruction.</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#50-54">source</a><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="../enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#44-48">source</a><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="../enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#38-42">source</a><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#32-36">source</a><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#110-114">source</a><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="../struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#76-80">source</a><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg8,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#24-28">source</a><a href="#impl-Mov%3CReg8,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="../enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#102-106">source</a><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="struct" href="../struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#70-74">source</a><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg16,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#18-22">source</a><a href="#impl-Mov%3CReg16,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="../enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#96-100">source</a><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="struct" href="../struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#64-68">source</a><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#12-16">source</a><a href="#impl-Mov%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#90-94">source</a><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="struct" href="../struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#58-62">source</a><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#6-10">source</a><a href="#impl-Mov%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/mov.rs.html#84-88">source</a><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="struct" href="../struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Mov.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Pop.html b/juicebox_asm/insn/trait.Pop.html
index d248e80..3c09993 100644
--- a/juicebox_asm/insn/trait.Pop.html
+++ b/juicebox_asm/insn/trait.Pop.html
@@ -1,7 +1,6 @@
-<!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="Trait for `pop` instruction kinds."><title>Pop in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Pop</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.pop">pop</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Pop</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/juicebox_asm/insn.rs.html#91-94">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Pop&lt;T&gt; {
+<!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="Trait for `pop` instruction kinds."><title>Pop in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Pop</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.pop" title="pop">pop</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Pop</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#99-102">source</a> </span></div><pre class="rust item-decl"><code>pub trait Pop&lt;T&gt; {
// Required method
fn <a href="#tymethod.pop" class="fn">pop</a>(&amp;mut self, op1: T);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/pop"><code>pop</code></a> instruction kinds.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.pop" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#93">source</a><h4 class="code-header">fn <a href="#tymethod.pop" class="fn">pop</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a pop instruction.</p>
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.pop" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#101">source</a><h4 class="code-header">fn <a href="#tymethod.pop" class="fn">pop</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a pop instruction.</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Pop%3CReg16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/pop.rs.html#10-14">source</a><a href="#impl-Pop%3CReg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a>&lt;<a class="enum" href="../enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Pop%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/pop.rs.html#4-8">source</a><a href="#impl-Pop%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Pop.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Push.html b/juicebox_asm/insn/trait.Push.html
index 32287bb..714b39a 100644
--- a/juicebox_asm/insn/trait.Push.html
+++ b/juicebox_asm/insn/trait.Push.html
@@ -1,7 +1,6 @@
-<!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="Trait for `push` instruction kinds."><title>Push in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Push</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.push">push</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Push</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/juicebox_asm/insn.rs.html#85-88">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Push&lt;T&gt; {
+<!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="Trait for `push` instruction kinds."><title>Push in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Push</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.push" title="push">push</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Push</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#93-96">source</a> </span></div><pre class="rust item-decl"><code>pub trait Push&lt;T&gt; {
// Required method
fn <a href="#tymethod.push" class="fn">push</a>(&amp;mut self, op1: T);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/push"><code>push</code></a> instruction kinds.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.push" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#87">source</a><h4 class="code-header">fn <a href="#tymethod.push" class="fn">push</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a push instruction.</p>
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.push" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#95">source</a><h4 class="code-header">fn <a href="#tymethod.push" class="fn">push</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a push instruction.</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Push%3CReg16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/push.rs.html#10-14">source</a><a href="#impl-Push%3CReg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a>&lt;<a class="enum" href="../enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Push%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/push.rs.html#4-8">source</a><a href="#impl-Push%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Push.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Test.html b/juicebox_asm/insn/trait.Test.html
index 7c3bd8e..945c903 100644
--- a/juicebox_asm/insn/trait.Test.html
+++ b/juicebox_asm/insn/trait.Test.html
@@ -1,9 +1,8 @@
-<!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="Trait for `test` instruction kinds."><title>Test in juicebox_asm::insn - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Test</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.test">test</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::insn</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../../help.html" title="help">?</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>Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a>::<wbr><a class="trait" href="#">Test</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/juicebox_asm/insn.rs.html#97-103">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait Test&lt;T, U&gt; {
+<!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="Trait for `test` instruction kinds."><title>Test in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Test</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.test" title="test">test</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Test</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#105-111">source</a> </span></div><pre class="rust item-decl"><code>pub trait Test&lt;T, U&gt; {
// Required method
fn <a href="#tymethod.test" class="fn">test</a>(&amp;mut self, op1: T, op2: U);
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/test"><code>test</code></a> instruction kinds.</p>
-</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.test" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#102">source</a><h4 class="code-header">fn <a href="#tymethod.test" class="fn">test</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit a logical compare instruction.</p>
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.test" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#110">source</a><h4 class="code-header">fn <a href="#tymethod.test" class="fn">test</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit a logical compare instruction.</p>
<p>Computes the bit-wise logical AND of first operand and the second operand and sets the
<code>SF</code>, <code>ZF</code>, and <code>PF</code> status flags, the result is discarded.</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/test.rs.html#16-20">source</a><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="../struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Test%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/test.rs.html#10-14">source</a><a href="#impl-Test%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="../enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Test%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/test.rs.html#4-8">source</a><a href="#impl-Test%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Test.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Xor.html b/juicebox_asm/insn/trait.Xor.html
new file mode 100644
index 0000000..929443a
--- /dev/null
+++ b/juicebox_asm/insn/trait.Xor.html
@@ -0,0 +1,6 @@
+<!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="Trait for `xor` instruction kinds."><title>Xor in juicebox_asm::insn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 trait"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Xor</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.xor" title="xor">xor</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In juicebox_<wbr>asm::<wbr>insn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">insn</a></span><h1>Trait <span class="trait">Xor</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/juicebox_asm/insn.rs.html#114-117">source</a> </span></div><pre class="rust item-decl"><code>pub trait Xor&lt;T, U&gt; {
+ // Required method
+ fn <a href="#tymethod.xor" class="fn">xor</a>(&amp;mut self, op1: T, op2: U);
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for <a href="https://www.felixcloutier.com/x86/xor"><code>xor</code></a> instruction kinds.</p>
+</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.xor" class="method"><a class="src rightside" href="../../src/juicebox_asm/insn.rs.html#116">source</a><h4 class="code-header">fn <a href="#tymethod.xor" class="fn">xor</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit a xor instruction.</p>
+</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Xor%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../../src/juicebox_asm/insn/xor.rs.html#4-8">source</a><a href="#impl-Xor%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Xor.html" title="trait juicebox_asm::insn::Xor">Xor</a>&lt;<a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="../enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../trait.impl/juicebox_asm/insn/trait.Xor.js" async></script></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/sidebar-items.js b/juicebox_asm/sidebar-items.js
index 519ac50..2b71916 100644
--- a/juicebox_asm/sidebar-items.js
+++ b/juicebox_asm/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"enum":["MemOp","Reg16","Reg32","Reg64","Reg8"],"mod":["insn"],"struct":["Asm","Imm16","Imm32","Imm64","Imm8","Label","Runtime"]}; \ No newline at end of file
+window.SIDEBAR_ITEMS = {"enum":["MemOp","Reg16","Reg32","Reg64","Reg8"],"mod":["insn"],"struct":["Asm","Imm16","Imm32","Imm64","Imm8","Label","MemOp16","MemOp32","MemOp64","MemOp8","Runtime"]}; \ No newline at end of file
diff --git a/juicebox_asm/struct.Asm.html b/juicebox_asm/struct.Asm.html
index 80e3152..7bb4da2 100644
--- a/juicebox_asm/struct.Asm.html
+++ b/juicebox_asm/struct.Asm.html
@@ -1,18 +1,17 @@
-<!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="`x64` jit assembler."><title>Asm in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Asm</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.bind">bind</a></li><li><a href="#method.into_code">into_code</a></li><li><a href="#method.new">new</a></li><li><a href="#method.nop">nop</a></li><li><a href="#method.ret">ret</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm">Add&lt;MemOp, Imm16&gt;</a></li><li><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm">Add&lt;MemOp, Reg16&gt;</a></li><li><a href="#impl-Add%3CReg32,+Reg32%3E-for-Asm">Add&lt;Reg32, Reg32&gt;</a></li><li><a href="#impl-Add%3CReg64,+Reg64%3E-for-Asm">Add&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Call%3CReg64%3E-for-Asm">Call&lt;Reg64&gt;</a></li><li><a href="#impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm">Cmovnz&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Cmovz%3CReg64,+Reg64%3E-for-Asm">Cmovz&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm">Cmp&lt;MemOp, Imm16&gt;</a></li><li><a href="#impl-Dec%3CReg32%3E-for-Asm">Dec&lt;Reg32&gt;</a></li><li><a href="#impl-Dec%3CReg64%3E-for-Asm">Dec&lt;Reg64&gt;</a></li><li><a href="#impl-Jmp%3C%26mut+Label%3E-for-Asm">Jmp&lt;&amp;mut Label&gt;</a></li><li><a href="#impl-Jnz%3C%26mut+Label%3E-for-Asm">Jnz&lt;&amp;mut Label&gt;</a></li><li><a href="#impl-Jz%3C%26mut+Label%3E-for-Asm">Jz&lt;&amp;mut Label&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm">Mov&lt;MemOp, Imm16&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm">Mov&lt;MemOp, Reg16&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm">Mov&lt;MemOp, Reg32&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm">Mov&lt;MemOp, Reg64&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm">Mov&lt;MemOp, Reg8&gt;</a></li><li><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm">Mov&lt;Reg16, Imm16&gt;</a></li><li><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm">Mov&lt;Reg16, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg16,+Reg16%3E-for-Asm">Mov&lt;Reg16, Reg16&gt;</a></li><li><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm">Mov&lt;Reg32, Imm32&gt;</a></li><li><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm">Mov&lt;Reg32, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg32,+Reg32%3E-for-Asm">Mov&lt;Reg32, Reg32&gt;</a></li><li><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm">Mov&lt;Reg64, Imm64&gt;</a></li><li><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm">Mov&lt;Reg64, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg64,+Reg64%3E-for-Asm">Mov&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm">Mov&lt;Reg8, Imm8&gt;</a></li><li><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm">Mov&lt;Reg8, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg8,+Reg8%3E-for-Asm">Mov&lt;Reg8, Reg8&gt;</a></li><li><a href="#impl-Pop%3CReg16%3E-for-Asm">Pop&lt;Reg16&gt;</a></li><li><a href="#impl-Pop%3CReg64%3E-for-Asm">Pop&lt;Reg64&gt;</a></li><li><a href="#impl-Push%3CReg16%3E-for-Asm">Push&lt;Reg16&gt;</a></li><li><a href="#impl-Push%3CReg64%3E-for-Asm">Push&lt;Reg64&gt;</a></li><li><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm">Test&lt;MemOp, Imm16&gt;</a></li><li><a href="#impl-Test%3CReg32,+Reg32%3E-for-Asm">Test&lt;Reg32, Reg32&gt;</a></li><li><a href="#impl-Test%3CReg64,+Reg64%3E-for-Asm">Test&lt;Reg64, Reg64&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Asm">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Asm">Send</a></li><li><a href="#impl-Sync-for-Asm">Sync</a></li><li><a href="#impl-Unpin-for-Asm">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Asm">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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">juicebox_asm</a>::<wbr><a class="struct" href="#">Asm</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/juicebox_asm/asm.rs.html#22-24">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Asm { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><code>x64</code> jit assembler.</p>
-</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/asm.rs.html#26-248">source</a><a href="#impl-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</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/juicebox_asm/asm.rs.html#28-32">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>() -&gt; <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h4></section></summary><div class="docblock"><p>Create a new <code>x64</code> jit assembler.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.into_code" class="method"><a class="src rightside" href="../src/juicebox_asm/asm.rs.html#35-37">source</a><h4 class="code-header">pub fn <a href="#method.into_code" class="fn">into_code</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>&gt;</h4></section></summary><div class="docblock"><p>Consume the assembler and get the emitted code.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.bind" class="method"><a class="src rightside" href="../src/juicebox_asm/asm.rs.html#65-71">source</a><h4 class="code-header">pub fn <a href="#method.bind" class="fn">bind</a>(&amp;mut self, label: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class="docblock"><p>Bind the <a href="struct.Label.html" title="struct juicebox_asm::Label">Label</a> to the current location.</p>
+<!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="`x64` jit assembler."><title>Asm in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Asm</a></h2><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.bind" title="bind">bind</a></li><li><a href="#method.into_code" title="into_code">into_code</a></li><li><a href="#method.new" title="new">new</a></li><li><a href="#method.nop" title="nop">nop</a></li><li><a href="#method.ret" title="ret">ret</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm" title="Add&#60;MemOp, Imm16&#62;">Add&#60;MemOp, Imm16&#62;</a></li><li><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm" title="Add&#60;MemOp, Reg16&#62;">Add&#60;MemOp, Reg16&#62;</a></li><li><a href="#impl-Add%3CMemOp,+Reg64%3E-for-Asm" title="Add&#60;MemOp, Reg64&#62;">Add&#60;MemOp, Reg64&#62;</a></li><li><a href="#impl-Add%3CReg32,+Reg32%3E-for-Asm" title="Add&#60;Reg32, Reg32&#62;">Add&#60;Reg32, Reg32&#62;</a></li><li><a href="#impl-Add%3CReg64,+MemOp%3E-for-Asm" title="Add&#60;Reg64, MemOp&#62;">Add&#60;Reg64, MemOp&#62;</a></li><li><a href="#impl-Add%3CReg64,+Reg64%3E-for-Asm" title="Add&#60;Reg64, Reg64&#62;">Add&#60;Reg64, Reg64&#62;</a></li><li><a href="#impl-Call%3CReg64%3E-for-Asm" title="Call&#60;Reg64&#62;">Call&#60;Reg64&#62;</a></li><li><a href="#impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" title="Cmovnz&#60;Reg64, Reg64&#62;">Cmovnz&#60;Reg64, Reg64&#62;</a></li><li><a href="#impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" title="Cmovz&#60;Reg64, Reg64&#62;">Cmovz&#60;Reg64, Reg64&#62;</a></li><li><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" title="Cmp&#60;MemOp, Imm16&#62;">Cmp&#60;MemOp, Imm16&#62;</a></li><li><a href="#impl-Cmp%3CMemOp,+Imm8%3E-for-Asm" title="Cmp&#60;MemOp, Imm8&#62;">Cmp&#60;MemOp, Imm8&#62;</a></li><li><a href="#impl-Dec%3CMemOp16%3E-for-Asm" title="Dec&#60;MemOp16&#62;">Dec&#60;MemOp16&#62;</a></li><li><a href="#impl-Dec%3CMemOp32%3E-for-Asm" title="Dec&#60;MemOp32&#62;">Dec&#60;MemOp32&#62;</a></li><li><a href="#impl-Dec%3CMemOp64%3E-for-Asm" title="Dec&#60;MemOp64&#62;">Dec&#60;MemOp64&#62;</a></li><li><a href="#impl-Dec%3CMemOp8%3E-for-Asm" title="Dec&#60;MemOp8&#62;">Dec&#60;MemOp8&#62;</a></li><li><a href="#impl-Dec%3CReg32%3E-for-Asm" title="Dec&#60;Reg32&#62;">Dec&#60;Reg32&#62;</a></li><li><a href="#impl-Dec%3CReg64%3E-for-Asm" title="Dec&#60;Reg64&#62;">Dec&#60;Reg64&#62;</a></li><li><a href="#impl-Inc%3CMemOp16%3E-for-Asm" title="Inc&#60;MemOp16&#62;">Inc&#60;MemOp16&#62;</a></li><li><a href="#impl-Inc%3CMemOp32%3E-for-Asm" title="Inc&#60;MemOp32&#62;">Inc&#60;MemOp32&#62;</a></li><li><a href="#impl-Inc%3CMemOp64%3E-for-Asm" title="Inc&#60;MemOp64&#62;">Inc&#60;MemOp64&#62;</a></li><li><a href="#impl-Inc%3CMemOp8%3E-for-Asm" title="Inc&#60;MemOp8&#62;">Inc&#60;MemOp8&#62;</a></li><li><a href="#impl-Inc%3CReg32%3E-for-Asm" title="Inc&#60;Reg32&#62;">Inc&#60;Reg32&#62;</a></li><li><a href="#impl-Inc%3CReg64%3E-for-Asm" title="Inc&#60;Reg64&#62;">Inc&#60;Reg64&#62;</a></li><li><a href="#impl-Jmp%3C%26mut+Label%3E-for-Asm" title="Jmp&#60;&#38;mut Label&#62;">Jmp&#60;&#38;mut Label&#62;</a></li><li><a href="#impl-Jnz%3C%26mut+Label%3E-for-Asm" title="Jnz&#60;&#38;mut Label&#62;">Jnz&#60;&#38;mut Label&#62;</a></li><li><a href="#impl-Jz%3C%26mut+Label%3E-for-Asm" title="Jz&#60;&#38;mut Label&#62;">Jz&#60;&#38;mut Label&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm" title="Mov&#60;MemOp, Imm16&#62;">Mov&#60;MemOp, Imm16&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm" title="Mov&#60;MemOp, Reg16&#62;">Mov&#60;MemOp, Reg16&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm" title="Mov&#60;MemOp, Reg32&#62;">Mov&#60;MemOp, Reg32&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm" title="Mov&#60;MemOp, Reg64&#62;">Mov&#60;MemOp, Reg64&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm" title="Mov&#60;MemOp, Reg8&#62;">Mov&#60;MemOp, Reg8&#62;</a></li><li><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm" title="Mov&#60;Reg16, Imm16&#62;">Mov&#60;Reg16, Imm16&#62;</a></li><li><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm" title="Mov&#60;Reg16, MemOp&#62;">Mov&#60;Reg16, MemOp&#62;</a></li><li><a href="#impl-Mov%3CReg16,+Reg16%3E-for-Asm" title="Mov&#60;Reg16, Reg16&#62;">Mov&#60;Reg16, Reg16&#62;</a></li><li><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm" title="Mov&#60;Reg32, Imm32&#62;">Mov&#60;Reg32, Imm32&#62;</a></li><li><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm" title="Mov&#60;Reg32, MemOp&#62;">Mov&#60;Reg32, MemOp&#62;</a></li><li><a href="#impl-Mov%3CReg32,+Reg32%3E-for-Asm" title="Mov&#60;Reg32, Reg32&#62;">Mov&#60;Reg32, Reg32&#62;</a></li><li><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm" title="Mov&#60;Reg64, Imm64&#62;">Mov&#60;Reg64, Imm64&#62;</a></li><li><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm" title="Mov&#60;Reg64, MemOp&#62;">Mov&#60;Reg64, MemOp&#62;</a></li><li><a href="#impl-Mov%3CReg64,+Reg64%3E-for-Asm" title="Mov&#60;Reg64, Reg64&#62;">Mov&#60;Reg64, Reg64&#62;</a></li><li><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm" title="Mov&#60;Reg8, Imm8&#62;">Mov&#60;Reg8, Imm8&#62;</a></li><li><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm" title="Mov&#60;Reg8, MemOp&#62;">Mov&#60;Reg8, MemOp&#62;</a></li><li><a href="#impl-Mov%3CReg8,+Reg8%3E-for-Asm" title="Mov&#60;Reg8, Reg8&#62;">Mov&#60;Reg8, Reg8&#62;</a></li><li><a href="#impl-Pop%3CReg16%3E-for-Asm" title="Pop&#60;Reg16&#62;">Pop&#60;Reg16&#62;</a></li><li><a href="#impl-Pop%3CReg64%3E-for-Asm" title="Pop&#60;Reg64&#62;">Pop&#60;Reg64&#62;</a></li><li><a href="#impl-Push%3CReg16%3E-for-Asm" title="Push&#60;Reg16&#62;">Push&#60;Reg16&#62;</a></li><li><a href="#impl-Push%3CReg64%3E-for-Asm" title="Push&#60;Reg64&#62;">Push&#60;Reg64&#62;</a></li><li><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm" title="Test&#60;MemOp, Imm16&#62;">Test&#60;MemOp, Imm16&#62;</a></li><li><a href="#impl-Test%3CReg32,+Reg32%3E-for-Asm" title="Test&#60;Reg32, Reg32&#62;">Test&#60;Reg32, Reg32&#62;</a></li><li><a href="#impl-Test%3CReg64,+Reg64%3E-for-Asm" title="Test&#60;Reg64, Reg64&#62;">Test&#60;Reg64, Reg64&#62;</a></li><li><a href="#impl-Xor%3CReg64,+Reg64%3E-for-Asm" title="Xor&#60;Reg64, Reg64&#62;">Xor&#60;Reg64, Reg64&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Asm" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Asm" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Asm" title="Send">Send</a></li><li><a href="#impl-Sync-for-Asm" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Asm" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Asm" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Struct <span class="struct">Asm</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/asm.rs.html#27-29">source</a> </span></div><pre class="rust item-decl"><code>pub struct Asm { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><code>x64</code> jit assembler.</p>
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/asm.rs.html#31-320">source</a><a href="#impl-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</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/juicebox_asm/asm.rs.html#33-37">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>() -&gt; <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h4></section></summary><div class="docblock"><p>Create a new <code>x64</code> jit assembler.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.into_code" class="method"><a class="src rightside" href="../src/juicebox_asm/asm.rs.html#40-42">source</a><h4 class="code-header">pub fn <a href="#method.into_code" class="fn">into_code</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u8.html">u8</a>&gt;</h4></section></summary><div class="docblock"><p>Consume the assembler and get the emitted code.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.bind" class="method"><a class="src rightside" href="../src/juicebox_asm/asm.rs.html#70-76">source</a><h4 class="code-header">pub fn <a href="#method.bind" class="fn">bind</a>(&amp;mut self, label: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class="docblock"><p>Bind the <a href="struct.Label.html" title="struct juicebox_asm::Label">Label</a> to the current location.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Asm-1" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/nop.rs.html#3-8">source</a><a href="#impl-Asm-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.nop" class="method"><a class="src rightside" href="../src/juicebox_asm/insn/nop.rs.html#5-7">source</a><h4 class="code-header">pub fn <a href="#method.nop" class="fn">nop</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Emit a <a href="https://www.felixcloutier.com/x86/nop"><code>nop</code></a> instruction.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Asm-2" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/ret.rs.html#3-8">source</a><a href="#impl-Asm-2" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.ret" class="method"><a class="src rightside" href="../src/juicebox_asm/insn/ret.rs.html#5-7">source</a><h4 class="code-header">pub fn <a href="#method.ret" class="fn">ret</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Emit a <a href="https://www.felixcloutier.com/x86/ret"><code>ret</code></a> instruction.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="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-Add%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#22-26">source</a><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#23-25">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#16-20">source</a><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#17-19">source</a><a href="#method.add-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#10-14">source</a><a href="#impl-Add%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#11-13">source</a><a href="#method.add-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#4-8">source</a><a href="#impl-Add%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#5-7">source</a><a href="#method.add-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Call%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/call.rs.html#4-8">source</a><a href="#impl-Call%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Call.html" title="trait juicebox_asm::insn::Call">Call</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.call" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/call.rs.html#5-7">source</a><a href="#method.call" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Call.html#tymethod.call" class="fn">call</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a call instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovnz.rs.html#4-8">source</a><a href="#impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmovnz.html" title="trait juicebox_asm::insn::Cmovnz">Cmovnz</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmovnz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovnz.rs.html#5-7">source</a><a href="#method.cmovnz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmovnz.html#tymethod.cmovnz" class="fn">cmovnz</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a (conditional) move if not zero instruction. <a href="insn/trait.Cmovnz.html#tymethod.cmovnz">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovz.rs.html#4-8">source</a><a href="#impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmovz.html" title="trait juicebox_asm::insn::Cmovz">Cmovz</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmovz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovz.rs.html#5-7">source</a><a href="#method.cmovz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmovz.html#tymethod.cmovz" class="fn">cmovz</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a (conditional) move if zero instruction. <a href="insn/trait.Cmovz.html#tymethod.cmovz">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#4-8">source</a><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#5-7">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmp.html#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a compare instruction. <a href="insn/trait.Cmp.html#tymethod.cmp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#10-14">source</a><a href="#impl-Dec%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#11-13">source</a><a href="#method.dec-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#4-8">source</a><a href="#impl-Dec%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#5-7">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jmp%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jmp.rs.html#4-8">source</a><a href="#impl-Jmp%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jmp.html" title="trait juicebox_asm::insn::Jmp">Jmp</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jmp" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jmp.rs.html#5-7">source</a><a href="#method.jmp" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jmp.html#tymethod.jmp" class="fn">jmp</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit an unconditional jump instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jnz%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jnz.rs.html#4-8">source</a><a href="#impl-Jnz%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jnz.html" title="trait juicebox_asm::insn::Jnz">Jnz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jnz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jnz.rs.html#5-7">source</a><a href="#method.jnz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jnz.html#tymethod.jnz" class="fn">jnz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if not zero instruction (<code>ZF = 0</code>).</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jz%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jz.rs.html#4-8">source</a><a href="#impl-Jz%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jz.html" title="trait juicebox_asm::insn::Jz">Jz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jz.rs.html#5-7">source</a><a href="#method.jz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jz.html#tymethod.jz" class="fn">jz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if zero instruction (<code>ZF = 1</code>).</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#110-114">source</a><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-13" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#111-113">source</a><a href="#method.mov-13" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#44-48">source</a><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-5" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#45-47">source</a><a href="#method.mov-5" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#38-42">source</a><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#39-41">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#32-36">source</a><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-15" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#33-35">source</a><a href="#method.mov-15" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#50-54">source</a><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#51-53">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#96-100">source</a><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-9" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#97-99">source</a><a href="#method.mov-9" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#70-74">source</a><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-11" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#71-73">source</a><a href="#method.mov-11" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#18-22">source</a><a href="#impl-Mov%3CReg16,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-4" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#19-21">source</a><a href="#method.mov-4" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#90-94">source</a><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-16" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#91-93">source</a><a href="#method.mov-16" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#64-68">source</a><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-10" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#65-67">source</a><a href="#method.mov-10" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#12-16">source</a><a href="#impl-Mov%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-8" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#13-15">source</a><a href="#method.mov-8" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#84-88">source</a><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-7" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#85-87">source</a><a href="#method.mov-7" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#58-62">source</a><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#59-61">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#6-10">source</a><a href="#impl-Mov%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-6" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#7-9">source</a><a href="#method.mov-6" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#102-106">source</a><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#103-105">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#76-80">source</a><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-14" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#77-79">source</a><a href="#method.mov-14" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#24-28">source</a><a href="#impl-Mov%3CReg8,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-12" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#25-27">source</a><a href="#method.mov-12" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Pop%3CReg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#10-14">source</a><a href="#impl-Pop%3CReg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.pop-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#11-13">source</a><a href="#method.pop-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Pop.html#tymethod.pop" class="fn">pop</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit a pop instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Pop%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#4-8">source</a><a href="#impl-Pop%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.pop" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#5-7">source</a><a href="#method.pop" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Pop.html#tymethod.pop" class="fn">pop</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a pop instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Push%3CReg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#10-14">source</a><a href="#impl-Push%3CReg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.push-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#11-13">source</a><a href="#method.push-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Push.html#tymethod.push" class="fn">push</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit a push instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Push%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#4-8">source</a><a href="#impl-Push%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.push" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#5-7">source</a><a href="#method.push" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Push.html#tymethod.push" class="fn">push</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a push instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#16-20">source</a><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#17-19">source</a><a href="#method.test-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#10-14">source</a><a href="#impl-Test%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#11-13">source</a><a href="#method.test-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#4-8">source</a><a href="#impl-Test%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#5-7">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Asm" class="impl"><a href="#impl-RefUnwindSafe-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Send-for-Asm" class="impl"><a href="#impl-Send-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Sync-for-Asm" class="impl"><a href="#impl-Sync-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Unpin-for-Asm" class="impl"><a href="#impl-Unpin-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-UnwindSafe-for-Asm" class="impl"><a href="#impl-UnwindSafe-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="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-Add%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#28-32">source</a><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-4" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#29-31">source</a><a href="#method.add-4" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#22-26">source</a><a href="#impl-Add%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#23-25">source</a><a href="#method.add-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CMemOp,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#16-20">source</a><a href="#impl-Add%3CMemOp,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#17-19">source</a><a href="#method.add-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#10-14">source</a><a href="#impl-Add%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#11-13">source</a><a href="#method.add-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CReg64,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#34-38">source</a><a href="#impl-Add%3CReg64,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add-5" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#35-37">source</a><a href="#method.add-5" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#4-8">source</a><a href="#impl-Add%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#5-7">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Call%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/call.rs.html#4-8">source</a><a href="#impl-Call%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Call.html" title="trait juicebox_asm::insn::Call">Call</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.call" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/call.rs.html#5-7">source</a><a href="#method.call" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Call.html#tymethod.call" class="fn">call</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a call instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovnz.rs.html#4-8">source</a><a href="#impl-Cmovnz%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmovnz.html" title="trait juicebox_asm::insn::Cmovnz">Cmovnz</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmovnz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovnz.rs.html#5-7">source</a><a href="#method.cmovnz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmovnz.html#tymethod.cmovnz" class="fn">cmovnz</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a (conditional) move if not zero instruction. <a href="insn/trait.Cmovnz.html#tymethod.cmovnz">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovz.rs.html#4-8">source</a><a href="#impl-Cmovz%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmovz.html" title="trait juicebox_asm::insn::Cmovz">Cmovz</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmovz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmovz.rs.html#5-7">source</a><a href="#method.cmovz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmovz.html#tymethod.cmovz" class="fn">cmovz</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a (conditional) move if zero instruction. <a href="insn/trait.Cmovz.html#tymethod.cmovz">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#10-14">source</a><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#11-13">source</a><a href="#method.cmp-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmp.html#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a compare instruction. <a href="insn/trait.Cmp.html#tymethod.cmp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmp%3CMemOp,+Imm8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#4-8">source</a><a href="#impl-Cmp%3CMemOp,+Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#5-7">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmp.html#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit a compare instruction. <a href="insn/trait.Cmp.html#tymethod.cmp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CMemOp16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#22-26">source</a><a href="#impl-Dec%3CMemOp16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#23-25">source</a><a href="#method.dec-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CMemOp32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#28-32">source</a><a href="#impl-Dec%3CMemOp32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec-4" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#29-31">source</a><a href="#method.dec-4" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CMemOp64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#34-38">source</a><a href="#impl-Dec%3CMemOp64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec-5" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#35-37">source</a><a href="#method.dec-5" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CMemOp8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#16-20">source</a><a href="#impl-Dec%3CMemOp8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#17-19">source</a><a href="#method.dec-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#10-14">source</a><a href="#impl-Dec%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#11-13">source</a><a href="#method.dec-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#4-8">source</a><a href="#impl-Dec%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#5-7">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CMemOp16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#22-26">source</a><a href="#impl-Inc%3CMemOp16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#23-25">source</a><a href="#method.inc-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CMemOp32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#28-32">source</a><a href="#impl-Inc%3CMemOp32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc-4" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#29-31">source</a><a href="#method.inc-4" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CMemOp64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#34-38">source</a><a href="#impl-Inc%3CMemOp64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc-5" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#35-37">source</a><a href="#method.inc-5" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CMemOp8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#16-20">source</a><a href="#impl-Inc%3CMemOp8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#17-19">source</a><a href="#method.inc-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CReg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#10-14">source</a><a href="#impl-Inc%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#11-13">source</a><a href="#method.inc-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#4-8">source</a><a href="#impl-Inc%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#5-7">source</a><a href="#method.inc" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jmp%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jmp.rs.html#4-8">source</a><a href="#impl-Jmp%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jmp.html" title="trait juicebox_asm::insn::Jmp">Jmp</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jmp" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jmp.rs.html#5-7">source</a><a href="#method.jmp" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jmp.html#tymethod.jmp" class="fn">jmp</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit an unconditional jump instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jnz%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jnz.rs.html#4-8">source</a><a href="#impl-Jnz%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jnz.html" title="trait juicebox_asm::insn::Jnz">Jnz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jnz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jnz.rs.html#5-7">source</a><a href="#method.jnz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jnz.html#tymethod.jnz" class="fn">jnz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if not zero instruction (<code>ZF = 0</code>).</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jz%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jz.rs.html#4-8">source</a><a href="#impl-Jz%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jz.html" title="trait juicebox_asm::insn::Jz">Jz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jz.rs.html#5-7">source</a><a href="#method.jz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jz.html#tymethod.jz" class="fn">jz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if zero instruction (<code>ZF = 1</code>).</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#110-114">source</a><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-16" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#111-113">source</a><a href="#method.mov-16" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#44-48">source</a><a href="#impl-Mov%3CMemOp,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-6" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#45-47">source</a><a href="#method.mov-6" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#38-42">source</a><a href="#impl-Mov%3CMemOp,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-5" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#39-41">source</a><a href="#method.mov-5" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#32-36">source</a><a href="#impl-Mov%3CMemOp,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-4" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#33-35">source</a><a href="#method.mov-4" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#50-54">source</a><a href="#impl-Mov%3CMemOp,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-7" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#51-53">source</a><a href="#method.mov-7" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#96-100">source</a><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-14" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#97-99">source</a><a href="#method.mov-14" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#70-74">source</a><a href="#impl-Mov%3CReg16,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-10" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#71-73">source</a><a href="#method.mov-10" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+Reg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#18-22">source</a><a href="#impl-Mov%3CReg16,+Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#19-21">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#90-94">source</a><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-13" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#91-93">source</a><a href="#method.mov-13" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#64-68">source</a><a href="#impl-Mov%3CReg32,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-9" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#65-67">source</a><a href="#method.mov-9" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#12-16">source</a><a href="#impl-Mov%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#13-15">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#84-88">source</a><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-12" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#85-87">source</a><a href="#method.mov-12" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#58-62">source</a><a href="#impl-Mov%3CReg64,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-8" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#59-61">source</a><a href="#method.mov-8" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#6-10">source</a><a href="#impl-Mov%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#7-9">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#102-106">source</a><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-15" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#103-105">source</a><a href="#method.mov-15" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#76-80">source</a><a href="#impl-Mov%3CReg8,+MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-11" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#77-79">source</a><a href="#method.mov-11" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+Reg8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#24-28">source</a><a href="#impl-Mov%3CReg8,+Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#25-27">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Pop%3CReg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#10-14">source</a><a href="#impl-Pop%3CReg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.pop-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#11-13">source</a><a href="#method.pop-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Pop.html#tymethod.pop" class="fn">pop</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit a pop instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Pop%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#4-8">source</a><a href="#impl-Pop%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Pop.html" title="trait juicebox_asm::insn::Pop">Pop</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.pop" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/pop.rs.html#5-7">source</a><a href="#method.pop" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Pop.html#tymethod.pop" class="fn">pop</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a pop instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Push%3CReg16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#10-14">source</a><a href="#impl-Push%3CReg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.push-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#11-13">source</a><a href="#method.push-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Push.html#tymethod.push" class="fn">push</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit a push instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Push%3CReg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#4-8">source</a><a href="#impl-Push%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Push.html" title="trait juicebox_asm::insn::Push">Push</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.push" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/push.rs.html#5-7">source</a><a href="#method.push" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Push.html#tymethod.push" class="fn">push</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a push instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#16-20">source</a><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#17-19">source</a><a href="#method.test-2" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CReg32,+Reg32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#10-14">source</a><a href="#impl-Test%3CReg32,+Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#11-13">source</a><a href="#method.test-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#4-8">source</a><a href="#impl-Test%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#5-7">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Xor%3CReg64,+Reg64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/xor.rs.html#4-8">source</a><a href="#impl-Xor%3CReg64,+Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Xor.html" title="trait juicebox_asm::insn::Xor">Xor</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.xor" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/xor.rs.html#5-7">source</a><a href="#method.xor" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Xor.html#tymethod.xor" class="fn">xor</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a xor instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Asm" class="impl"><a href="#impl-Freeze-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-RefUnwindSafe-for-Asm" class="impl"><a href="#impl-RefUnwindSafe-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Send-for-Asm" class="impl"><a href="#impl-Send-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Sync-for-Asm" class="impl"><a href="#impl-Sync-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Unpin-for-Asm" class="impl"><a href="#impl-Unpin-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-UnwindSafe-for-Asm" class="impl"><a href="#impl-UnwindSafe-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/struct.Imm16.html b/juicebox_asm/struct.Imm16.html
index 7e7b386..c6e11c1 100644
--- a/juicebox_asm/struct.Imm16.html
+++ b/juicebox_asm/struct.Imm16.html
@@ -1,13 +1,12 @@
-<!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="Type representing a 16 bit immediate."><title>Imm16 in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Imm16</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm">Add&lt;MemOp, Imm16&gt;</a></li><li><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm">Cmp&lt;MemOp, Imm16&gt;</a></li><li><a href="#impl-From%3Ci16%3E-for-Imm16">From&lt;i16&gt;</a></li><li><a href="#impl-From%3Ci8%3E-for-Imm16">From&lt;i8&gt;</a></li><li><a href="#impl-From%3Cu16%3E-for-Imm16">From&lt;u16&gt;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm16">From&lt;u8&gt;</a></li><li><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm">Mov&lt;MemOp, Imm16&gt;</a></li><li><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm">Mov&lt;Reg16, Imm16&gt;</a></li><li><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm">Test&lt;MemOp, Imm16&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Imm16">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm16">Send</a></li><li><a href="#impl-Sync-for-Imm16">Sync</a></li><li><a href="#impl-Unpin-for-Imm16">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm16">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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">juicebox_asm</a>::<wbr><a class="struct" href="#">Imm16</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/juicebox_asm/imm.rs.html#39-42">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Imm16(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Type representing a 16 bit immediate.</p>
-</div></details><h2 id="trait-implementations" class="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-Add%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#22-26">source</a><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#23-25">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#4-8">source</a><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#5-7">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmp.html#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a compare instruction. <a href="insn/trait.Cmp.html#tymethod.cmp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci16%3E-for-Imm16" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#impl-From%3Ci16%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i16.html">i16</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></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="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i16.html">i16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci8%3E-for-Imm16" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#impl-From%3Ci8%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu16%3E-for-Imm16" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#impl-From%3Cu16%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm16" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#impl-From%3Cu8%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#110-114">source</a><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#111-113">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#96-100">source</a><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#97-99">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#16-20">source</a><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#17-19">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Imm16" class="impl"><a href="#impl-RefUnwindSafe-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section><section id="impl-Send-for-Imm16" class="impl"><a href="#impl-Send-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section><section id="impl-Sync-for-Imm16" class="impl"><a href="#impl-Sync-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section><section id="impl-Unpin-for-Imm16" class="impl"><a href="#impl-Unpin-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section><section id="impl-UnwindSafe-for-Imm16" class="impl"><a href="#impl-UnwindSafe-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<!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="Type representing a 16 bit immediate."><title>Imm16 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Imm16</a></h2><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm" title="Add&#60;MemOp, Imm16&#62;">Add&#60;MemOp, Imm16&#62;</a></li><li><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" title="Cmp&#60;MemOp, Imm16&#62;">Cmp&#60;MemOp, Imm16&#62;</a></li><li><a href="#impl-From%3Ci16%3E-for-Imm16" title="From&#60;i16&#62;">From&#60;i16&#62;</a></li><li><a href="#impl-From%3Ci8%3E-for-Imm16" title="From&#60;i8&#62;">From&#60;i8&#62;</a></li><li><a href="#impl-From%3Cu16%3E-for-Imm16" title="From&#60;u16&#62;">From&#60;u16&#62;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm16" title="From&#60;u8&#62;">From&#60;u8&#62;</a></li><li><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm" title="Mov&#60;MemOp, Imm16&#62;">Mov&#60;MemOp, Imm16&#62;</a></li><li><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm" title="Mov&#60;Reg16, Imm16&#62;">Mov&#60;Reg16, Imm16&#62;</a></li><li><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm" title="Test&#60;MemOp, Imm16&#62;">Test&#60;MemOp, Imm16&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Imm16" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Imm16" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm16" title="Send">Send</a></li><li><a href="#impl-Sync-for-Imm16" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Imm16" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm16" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Struct <span class="struct">Imm16</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/imm.rs.html#39-42">source</a> </span></div><pre class="rust item-decl"><code>pub struct Imm16(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Type representing a 16 bit immediate.</p>
+</div></details><h2 id="trait-implementations" class="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-Add%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#28-32">source</a><a href="#impl-Add%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Add.html" title="trait juicebox_asm::insn::Add">Add</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/add.rs.html#29-31">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#10-14">source</a><a href="#impl-Cmp%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#11-13">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmp.html#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a compare instruction. <a href="insn/trait.Cmp.html#tymethod.cmp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci16%3E-for-Imm16" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#impl-From%3Ci16%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i16.html">i16</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i16.html">i16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci8%3E-for-Imm16" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#impl-From%3Ci8%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu16%3E-for-Imm16" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#impl-From%3Cu16%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></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="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm16" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#impl-From%3Cu8%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#39-42">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#110-114">source</a><a href="#impl-Mov%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#111-113">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#96-100">source</a><a href="#impl-Mov%3CReg16,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#97-99">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::Reg16">Reg16</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#16-20">source</a><a href="#impl-Test%3CMemOp,+Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Test.html" title="trait juicebox_asm::insn::Test">Test</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.test" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/test.rs.html#17-19">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="insn/trait.Test.html#tymethod.test">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Imm16" class="impl"><a href="#impl-Freeze-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section><section id="impl-RefUnwindSafe-for-Imm16" class="impl"><a href="#impl-RefUnwindSafe-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section><section id="impl-Send-for-Imm16" class="impl"><a href="#impl-Send-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section><section id="impl-Sync-for-Imm16" class="impl"><a href="#impl-Sync-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section><section id="impl-Unpin-for-Imm16" class="impl"><a href="#impl-Unpin-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section><section id="impl-UnwindSafe-for-Imm16" class="impl"><a href="#impl-UnwindSafe-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::Imm16">Imm16</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/struct.Imm32.html b/juicebox_asm/struct.Imm32.html
index 4e4da0b..44192f9 100644
--- a/juicebox_asm/struct.Imm32.html
+++ b/juicebox_asm/struct.Imm32.html
@@ -1,13 +1,12 @@
-<!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="Type representing a 32 bit immediate."><title>Imm32 in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Imm32</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-From%3Ci16%3E-for-Imm32">From&lt;i16&gt;</a></li><li><a href="#impl-From%3Ci32%3E-for-Imm32">From&lt;i32&gt;</a></li><li><a href="#impl-From%3Ci8%3E-for-Imm32">From&lt;i8&gt;</a></li><li><a href="#impl-From%3Cu16%3E-for-Imm32">From&lt;u16&gt;</a></li><li><a href="#impl-From%3Cu32%3E-for-Imm32">From&lt;u32&gt;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm32">From&lt;u8&gt;</a></li><li><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm">Mov&lt;Reg32, Imm32&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Imm32">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm32">Send</a></li><li><a href="#impl-Sync-for-Imm32">Sync</a></li><li><a href="#impl-Unpin-for-Imm32">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm32">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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">juicebox_asm</a>::<wbr><a class="struct" href="#">Imm32</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/juicebox_asm/imm.rs.html#43-46">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Imm32(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Type representing a 32 bit immediate.</p>
-</div></details><h2 id="trait-implementations" class="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-From%3Ci16%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Ci16%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i16.html">i16</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i16.html">i16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci32%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Ci32%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i32.html">i32</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></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="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i32.html">i32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci8%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Ci8%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu16%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Cu16%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu32%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Cu32%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u32.html">u32</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u32.html">u32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Cu8%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#90-94">source</a><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#91-93">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Imm32" class="impl"><a href="#impl-RefUnwindSafe-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section><section id="impl-Send-for-Imm32" class="impl"><a href="#impl-Send-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section><section id="impl-Sync-for-Imm32" class="impl"><a href="#impl-Sync-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section><section id="impl-Unpin-for-Imm32" class="impl"><a href="#impl-Unpin-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section><section id="impl-UnwindSafe-for-Imm32" class="impl"><a href="#impl-UnwindSafe-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<!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="Type representing a 32 bit immediate."><title>Imm32 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Imm32</a></h2><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-From%3Ci16%3E-for-Imm32" title="From&#60;i16&#62;">From&#60;i16&#62;</a></li><li><a href="#impl-From%3Ci32%3E-for-Imm32" title="From&#60;i32&#62;">From&#60;i32&#62;</a></li><li><a href="#impl-From%3Ci8%3E-for-Imm32" title="From&#60;i8&#62;">From&#60;i8&#62;</a></li><li><a href="#impl-From%3Cu16%3E-for-Imm32" title="From&#60;u16&#62;">From&#60;u16&#62;</a></li><li><a href="#impl-From%3Cu32%3E-for-Imm32" title="From&#60;u32&#62;">From&#60;u32&#62;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm32" title="From&#60;u8&#62;">From&#60;u8&#62;</a></li><li><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm" title="Mov&#60;Reg32, Imm32&#62;">Mov&#60;Reg32, Imm32&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Imm32" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Imm32" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm32" title="Send">Send</a></li><li><a href="#impl-Sync-for-Imm32" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Imm32" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm32" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Struct <span class="struct">Imm32</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/imm.rs.html#43-46">source</a> </span></div><pre class="rust item-decl"><code>pub struct Imm32(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Type representing a 32 bit immediate.</p>
+</div></details><h2 id="trait-implementations" class="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-From%3Ci16%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Ci16%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i16.html">i16</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i16.html">i16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci32%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Ci32%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i32.html">i32</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i32.html">i32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci8%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Ci8%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu16%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Cu16%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu32%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Cu32%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u32.html">u32</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></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="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u32.html">u32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm32" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#impl-From%3Cu8%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#43-46">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#90-94">source</a><a href="#impl-Mov%3CReg32,+Imm32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#91-93">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::Reg32">Reg32</a>, op2: <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Imm32" class="impl"><a href="#impl-Freeze-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section><section id="impl-RefUnwindSafe-for-Imm32" class="impl"><a href="#impl-RefUnwindSafe-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section><section id="impl-Send-for-Imm32" class="impl"><a href="#impl-Send-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section><section id="impl-Sync-for-Imm32" class="impl"><a href="#impl-Sync-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section><section id="impl-Unpin-for-Imm32" class="impl"><a href="#impl-Unpin-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section><section id="impl-UnwindSafe-for-Imm32" class="impl"><a href="#impl-UnwindSafe-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::Imm32">Imm32</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/struct.Imm64.html b/juicebox_asm/struct.Imm64.html
index 33f84e2..d0ddbdf 100644
--- a/juicebox_asm/struct.Imm64.html
+++ b/juicebox_asm/struct.Imm64.html
@@ -1,13 +1,12 @@
-<!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="Type representing a 64 bit immediate."><title>Imm64 in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Imm64</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-From%3Ci16%3E-for-Imm64">From&lt;i16&gt;</a></li><li><a href="#impl-From%3Ci32%3E-for-Imm64">From&lt;i32&gt;</a></li><li><a href="#impl-From%3Ci64%3E-for-Imm64">From&lt;i64&gt;</a></li><li><a href="#impl-From%3Ci8%3E-for-Imm64">From&lt;i8&gt;</a></li><li><a href="#impl-From%3Cisize%3E-for-Imm64">From&lt;isize&gt;</a></li><li><a href="#impl-From%3Cu16%3E-for-Imm64">From&lt;u16&gt;</a></li><li><a href="#impl-From%3Cu32%3E-for-Imm64">From&lt;u32&gt;</a></li><li><a href="#impl-From%3Cu64%3E-for-Imm64">From&lt;u64&gt;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm64">From&lt;u8&gt;</a></li><li><a href="#impl-From%3Cusize%3E-for-Imm64">From&lt;usize&gt;</a></li><li><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm">Mov&lt;Reg64, Imm64&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Imm64">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm64">Send</a></li><li><a href="#impl-Sync-for-Imm64">Sync</a></li><li><a href="#impl-Unpin-for-Imm64">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm64">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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">juicebox_asm</a>::<wbr><a class="struct" href="#">Imm64</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/juicebox_asm/imm.rs.html#47-50">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Imm64(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Type representing a 64 bit immediate.</p>
-</div></details><h2 id="trait-implementations" class="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-From%3Ci16%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Ci16%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i16.html">i16</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i16.html">i16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci32%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Ci32%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i32.html">i32</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i32.html">i32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci64%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Ci64%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i64.html">i64</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i64.html">i64</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci8%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Ci8%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></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="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cisize%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cisize%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.isize.html">isize</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-9" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-9" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.isize.html">isize</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu16%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cu16%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu32%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cu32%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u32.html">u32</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u32.html">u32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu64%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cu64%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-8" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-8" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cu8%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-7" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-7" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cusize%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cusize%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#84-88">source</a><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#85-87">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Imm64" class="impl"><a href="#impl-RefUnwindSafe-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section><section id="impl-Send-for-Imm64" class="impl"><a href="#impl-Send-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section><section id="impl-Sync-for-Imm64" class="impl"><a href="#impl-Sync-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section><section id="impl-Unpin-for-Imm64" class="impl"><a href="#impl-Unpin-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section><section id="impl-UnwindSafe-for-Imm64" class="impl"><a href="#impl-UnwindSafe-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-10" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from-10" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<!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="Type representing a 64 bit immediate."><title>Imm64 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Imm64</a></h2><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-From%3Ci16%3E-for-Imm64" title="From&#60;i16&#62;">From&#60;i16&#62;</a></li><li><a href="#impl-From%3Ci32%3E-for-Imm64" title="From&#60;i32&#62;">From&#60;i32&#62;</a></li><li><a href="#impl-From%3Ci64%3E-for-Imm64" title="From&#60;i64&#62;">From&#60;i64&#62;</a></li><li><a href="#impl-From%3Ci8%3E-for-Imm64" title="From&#60;i8&#62;">From&#60;i8&#62;</a></li><li><a href="#impl-From%3Cisize%3E-for-Imm64" title="From&#60;isize&#62;">From&#60;isize&#62;</a></li><li><a href="#impl-From%3Cu16%3E-for-Imm64" title="From&#60;u16&#62;">From&#60;u16&#62;</a></li><li><a href="#impl-From%3Cu32%3E-for-Imm64" title="From&#60;u32&#62;">From&#60;u32&#62;</a></li><li><a href="#impl-From%3Cu64%3E-for-Imm64" title="From&#60;u64&#62;">From&#60;u64&#62;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm64" title="From&#60;u8&#62;">From&#60;u8&#62;</a></li><li><a href="#impl-From%3Cusize%3E-for-Imm64" title="From&#60;usize&#62;">From&#60;usize&#62;</a></li><li><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm" title="Mov&#60;Reg64, Imm64&#62;">Mov&#60;Reg64, Imm64&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Imm64" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Imm64" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm64" title="Send">Send</a></li><li><a href="#impl-Sync-for-Imm64" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Imm64" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm64" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Struct <span class="struct">Imm64</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/imm.rs.html#47-50">source</a> </span></div><pre class="rust item-decl"><code>pub struct Imm64(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Type representing a 64 bit immediate.</p>
+</div></details><h2 id="trait-implementations" class="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-From%3Ci16%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Ci16%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i16.html">i16</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i16.html">i16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci32%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Ci32%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i32.html">i32</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i32.html">i32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci64%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Ci64%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i64.html">i64</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i64.html">i64</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci8%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Ci8%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-7" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-7" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cisize%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cisize%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.isize.html">isize</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-9" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-9" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.isize.html">isize</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu16%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cu16%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu32%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cu32%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u32.html">u32</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u32.html">u32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu64%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cu64%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u64.html">u64</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></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="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u64.html">u64</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cu8%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cusize%3E-for-Imm64" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#impl-From%3Cusize%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.usize.html">usize</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-8" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#47-50">source</a><a href="#method.from-8" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#84-88">source</a><a href="#impl-Mov%3CReg64,+Imm64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#85-87">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::Reg64">Reg64</a>, op2: <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Imm64" class="impl"><a href="#impl-Freeze-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section><section id="impl-RefUnwindSafe-for-Imm64" class="impl"><a href="#impl-RefUnwindSafe-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section><section id="impl-Send-for-Imm64" class="impl"><a href="#impl-Send-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section><section id="impl-Sync-for-Imm64" class="impl"><a href="#impl-Sync-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section><section id="impl-Unpin-for-Imm64" class="impl"><a href="#impl-Unpin-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section><section id="impl-UnwindSafe-for-Imm64" class="impl"><a href="#impl-UnwindSafe-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::Imm64">Imm64</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-10" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-10" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/struct.Imm8.html b/juicebox_asm/struct.Imm8.html
index 6392d93..09ac7f4 100644
--- a/juicebox_asm/struct.Imm8.html
+++ b/juicebox_asm/struct.Imm8.html
@@ -1,13 +1,12 @@
-<!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="Type representing an 8 bit immediate."><title>Imm8 in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Imm8</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-From%3Ci8%3E-for-Imm8">From&lt;i8&gt;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm8">From&lt;u8&gt;</a></li><li><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm">Mov&lt;Reg8, Imm8&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Imm8">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm8">Send</a></li><li><a href="#impl-Sync-for-Imm8">Sync</a></li><li><a href="#impl-Unpin-for-Imm8">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm8">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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">juicebox_asm</a>::<wbr><a class="struct" href="#">Imm8</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/juicebox_asm/imm.rs.html#35-38">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Imm8(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Type representing an 8 bit immediate.</p>
-</div></details><h2 id="trait-implementations" class="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-From%3Ci8%3E-for-Imm8" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#35-38">source</a><a href="#impl-From%3Ci8%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></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="../src/juicebox_asm/imm.rs.html#35-38">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm8" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#35-38">source</a><a href="#impl-From%3Cu8%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#35-38">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#102-106">source</a><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#103-105">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Imm8" class="impl"><a href="#impl-RefUnwindSafe-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section><section id="impl-Send-for-Imm8" class="impl"><a href="#impl-Send-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section><section id="impl-Sync-for-Imm8" class="impl"><a href="#impl-Sync-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section><section id="impl-Unpin-for-Imm8" class="impl"><a href="#impl-Unpin-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section><section id="impl-UnwindSafe-for-Imm8" class="impl"><a href="#impl-UnwindSafe-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<!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="Type representing an 8 bit immediate."><title>Imm8 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Imm8</a></h2><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Cmp%3CMemOp,+Imm8%3E-for-Asm" title="Cmp&#60;MemOp, Imm8&#62;">Cmp&#60;MemOp, Imm8&#62;</a></li><li><a href="#impl-From%3Ci8%3E-for-Imm8" title="From&#60;i8&#62;">From&#60;i8&#62;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm8" title="From&#60;u8&#62;">From&#60;u8&#62;</a></li><li><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm" title="Mov&#60;Reg8, Imm8&#62;">Mov&#60;Reg8, Imm8&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Imm8" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Imm8" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm8" title="Send">Send</a></li><li><a href="#impl-Sync-for-Imm8" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Imm8" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm8" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Struct <span class="struct">Imm8</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/imm.rs.html#35-38">source</a> </span></div><pre class="rust item-decl"><code>pub struct Imm8(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Type representing an 8 bit immediate.</p>
+</div></details><h2 id="trait-implementations" class="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-Cmp%3CMemOp,+Imm8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#4-8">source</a><a href="#impl-Cmp%3CMemOp,+Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Cmp.html" title="trait juicebox_asm::insn::Cmp">Cmp</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/cmp.rs.html#5-7">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Cmp.html#tymethod.cmp" class="fn">cmp</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit a compare instruction. <a href="insn/trait.Cmp.html#tymethod.cmp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Ci8%3E-for-Imm8" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#35-38">source</a><a href="#impl-From%3Ci8%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#35-38">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm8" class="impl"><a class="src rightside" href="../src/juicebox_asm/imm.rs.html#35-38">source</a><a href="#impl-From%3Cu8%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></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="../src/juicebox_asm/imm.rs.html#35-38">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#102-106">source</a><a href="#impl-Mov%3CReg8,+Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Mov.html" title="trait juicebox_asm::insn::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/mov.rs.html#103-105">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::Reg8">Reg8</a>, op2: <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Imm8" class="impl"><a href="#impl-Freeze-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section><section id="impl-RefUnwindSafe-for-Imm8" class="impl"><a href="#impl-RefUnwindSafe-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section><section id="impl-Send-for-Imm8" class="impl"><a href="#impl-Send-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section><section id="impl-Sync-for-Imm8" class="impl"><a href="#impl-Sync-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section><section id="impl-Unpin-for-Imm8" class="impl"><a href="#impl-Unpin-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section><section id="impl-UnwindSafe-for-Imm8" class="impl"><a href="#impl-UnwindSafe-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::Imm8">Imm8</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/struct.Label.html b/juicebox_asm/struct.Label.html
index 330a823..5c5902c 100644
--- a/juicebox_asm/struct.Label.html
+++ b/juicebox_asm/struct.Label.html
@@ -1,5 +1,4 @@
-<!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 label which is used as target for jump instructions."><title>Label in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Label</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Drop-for-Label">Drop</a></li><li><a href="#impl-Jmp%3C%26mut+Label%3E-for-Asm">Jmp&lt;&amp;mut Label&gt;</a></li><li><a href="#impl-Jnz%3C%26mut+Label%3E-for-Asm">Jnz&lt;&amp;mut Label&gt;</a></li><li><a href="#impl-Jz%3C%26mut+Label%3E-for-Asm">Jz&lt;&amp;mut Label&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Label">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Label">Send</a></li><li><a href="#impl-Sync-for-Label">Sync</a></li><li><a href="#impl-Unpin-for-Label">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Label">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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">juicebox_asm</a>::<wbr><a class="struct" href="#">Label</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/juicebox_asm/label.rs.html#25-31">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Label { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A label which is used as target for jump instructions.</p>
+<!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 label which is used as target for jump instructions."><title>Label in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Label</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#panics" title="Panics">Panics</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.new" title="new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Drop-for-Label" title="Drop">Drop</a></li><li><a href="#impl-Jmp%3C%26mut+Label%3E-for-Asm" title="Jmp&#60;&#38;mut Label&#62;">Jmp&#60;&#38;mut Label&#62;</a></li><li><a href="#impl-Jnz%3C%26mut+Label%3E-for-Asm" title="Jnz&#60;&#38;mut Label&#62;">Jnz&#60;&#38;mut Label&#62;</a></li><li><a href="#impl-Jz%3C%26mut+Label%3E-for-Asm" title="Jz&#60;&#38;mut Label&#62;">Jz&#60;&#38;mut Label&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Label" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Label" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Label" title="Send">Send</a></li><li><a href="#impl-Sync-for-Label" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Label" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Label" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Struct <span class="struct">Label</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/label.rs.html#25-31">source</a> </span></div><pre class="rust item-decl"><code>pub struct Label { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A label which is used as target for jump instructions.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>juicebox_asm::{Asm, Label, Reg64};
<span class="kw">use </span>juicebox_asm::insn::{Mov, Jmp};
@@ -11,18 +10,18 @@
</span>asm.jmp(<span class="kw-2">&amp;mut </span>lbl);
asm.mov(Reg64::rax, Reg64::rax);
asm.bind(<span class="kw-2">&amp;mut </span>lbl);</code></pre></div>
-<h2 id="panics"><a href="#panics">Panics</a></h2>
+<h2 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h2>
<p>Panics if the label is dropped while not yet bound, or having unresolved relocations.
This is mainly a safety-guard to detect wrong usage.</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Label" class="impl"><a class="src rightside" href="../src/juicebox_asm/label.rs.html#33-74">source</a><a href="#impl-Label" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</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/juicebox_asm/label.rs.html#35-40">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>() -&gt; <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h4></section></summary><div class="docblock"><p>Create a new <code>unbound</code> <a href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="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-Drop-for-Label" class="impl"><a class="src rightside" href="../src/juicebox_asm/label.rs.html#76-83">source</a><a href="#impl-Drop-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/label.rs.html#77-82">source</a><a href="#method.drop" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/drop/trait.Drop.html#tymethod.drop" class="fn">drop</a>(&amp;mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href="https://doc.rust-lang.org/1.76.0/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jmp%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jmp.rs.html#4-8">source</a><a href="#impl-Jmp%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jmp.html" title="trait juicebox_asm::insn::Jmp">Jmp</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jmp" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jmp.rs.html#5-7">source</a><a href="#method.jmp" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jmp.html#tymethod.jmp" class="fn">jmp</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit an unconditional jump instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jnz%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jnz.rs.html#4-8">source</a><a href="#impl-Jnz%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jnz.html" title="trait juicebox_asm::insn::Jnz">Jnz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jnz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jnz.rs.html#5-7">source</a><a href="#method.jnz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jnz.html#tymethod.jnz" class="fn">jnz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if not zero instruction (<code>ZF = 0</code>).</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jz%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jz.rs.html#4-8">source</a><a href="#impl-Jz%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jz.html" title="trait juicebox_asm::insn::Jz">Jz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jz.rs.html#5-7">source</a><a href="#method.jz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jz.html#tymethod.jz" class="fn">jz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if zero instruction (<code>ZF = 1</code>).</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Label" class="impl"><a href="#impl-RefUnwindSafe-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section><section id="impl-Send-for-Label" class="impl"><a href="#impl-Send-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section><section id="impl-Sync-for-Label" class="impl"><a href="#impl-Sync-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section><section id="impl-Unpin-for-Label" class="impl"><a href="#impl-Unpin-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section><section id="impl-UnwindSafe-for-Label" class="impl"><a href="#impl-UnwindSafe-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="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-Drop-for-Label" class="impl"><a class="src rightside" href="../src/juicebox_asm/label.rs.html#76-83">source</a><a href="#impl-Drop-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/label.rs.html#77-82">source</a><a href="#method.drop" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/ops/drop/trait.Drop.html#tymethod.drop" class="fn">drop</a>(&amp;mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href="https://doc.rust-lang.org/1.83.0/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jmp%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jmp.rs.html#4-8">source</a><a href="#impl-Jmp%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jmp.html" title="trait juicebox_asm::insn::Jmp">Jmp</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jmp" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jmp.rs.html#5-7">source</a><a href="#method.jmp" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jmp.html#tymethod.jmp" class="fn">jmp</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit an unconditional jump instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jnz%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jnz.rs.html#4-8">source</a><a href="#impl-Jnz%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jnz.html" title="trait juicebox_asm::insn::Jnz">Jnz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jnz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jnz.rs.html#5-7">source</a><a href="#method.jnz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jnz.html#tymethod.jnz" class="fn">jnz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if not zero instruction (<code>ZF = 0</code>).</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Jz%3C%26mut+Label%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/jz.rs.html#4-8">source</a><a href="#impl-Jz%3C%26mut+Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Jz.html" title="trait juicebox_asm::insn::Jz">Jz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.jz" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/jz.rs.html#5-7">source</a><a href="#method.jz" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Jz.html#tymethod.jz" class="fn">jz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if zero instruction (<code>ZF = 1</code>).</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Label" class="impl"><a href="#impl-Freeze-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section><section id="impl-RefUnwindSafe-for-Label" class="impl"><a href="#impl-RefUnwindSafe-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section><section id="impl-Send-for-Label" class="impl"><a href="#impl-Send-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section><section id="impl-Sync-for-Label" class="impl"><a href="#impl-Sync-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section><section id="impl-Unpin-for-Label" class="impl"><a href="#impl-Unpin-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section><section id="impl-UnwindSafe-for-Label" class="impl"><a href="#impl-UnwindSafe-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::Label">Label</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/struct.MemOp16.html b/juicebox_asm/struct.MemOp16.html
new file mode 100644
index 0000000..f746c9e
--- /dev/null
+++ b/juicebox_asm/struct.MemOp16.html
@@ -0,0 +1,13 @@
+<!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 memory operand with a word (16 bit) size hint."><title>MemOp16 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">MemOp16</a></h2><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.from" title="from">from</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Dec%3CMemOp16%3E-for-Asm" title="Dec&#60;MemOp16&#62;">Dec&#60;MemOp16&#62;</a></li><li><a href="#impl-Inc%3CMemOp16%3E-for-Asm" title="Inc&#60;MemOp16&#62;">Inc&#60;MemOp16&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-MemOp16" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-MemOp16" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-MemOp16" title="Send">Send</a></li><li><a href="#impl-Sync-for-MemOp16" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-MemOp16" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-MemOp16" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Struct <span class="struct">MemOp16</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/lib.rs.html#155-164">source</a> </span></div><pre class="rust item-decl"><code>pub struct MemOp16(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A memory operand with a word (16 bit) size hint.</p>
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-MemOp16" class="impl"><a class="src rightside" href="../src/juicebox_asm/lib.rs.html#155-164">source</a><a href="#impl-MemOp16" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method"><a class="src rightside" href="../src/juicebox_asm/lib.rs.html#155-164">source</a><h4 class="code-header">pub fn <a href="#method.from" class="fn">from</a>(op: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a memory with size hint from a raw memory operand.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="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-Dec%3CMemOp16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#22-26">source</a><a href="#impl-Dec%3CMemOp16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#23-25">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CMemOp16%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#22-26">source</a><a href="#impl-Inc%3CMemOp16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#23-25">source</a><a href="#method.inc" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-MemOp16" class="impl"><a href="#impl-Freeze-for-MemOp16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a></h3></section><section id="impl-RefUnwindSafe-for-MemOp16" class="impl"><a href="#impl-RefUnwindSafe-for-MemOp16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a></h3></section><section id="impl-Send-for-MemOp16" class="impl"><a href="#impl-Send-for-MemOp16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a></h3></section><section id="impl-Sync-for-MemOp16" class="impl"><a href="#impl-Sync-for-MemOp16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a></h3></section><section id="impl-Unpin-for-MemOp16" class="impl"><a href="#impl-Unpin-for-MemOp16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a></h3></section><section id="impl-UnwindSafe-for-MemOp16" class="impl"><a href="#impl-UnwindSafe-for-MemOp16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.MemOp16.html" title="struct juicebox_asm::MemOp16">MemOp16</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/struct.MemOp32.html b/juicebox_asm/struct.MemOp32.html
new file mode 100644
index 0000000..f47507a
--- /dev/null
+++ b/juicebox_asm/struct.MemOp32.html
@@ -0,0 +1,13 @@
+<!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 memory operand with a dword (32 bit) size hint."><title>MemOp32 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">MemOp32</a></h2><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.from" title="from">from</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Dec%3CMemOp32%3E-for-Asm" title="Dec&#60;MemOp32&#62;">Dec&#60;MemOp32&#62;</a></li><li><a href="#impl-Inc%3CMemOp32%3E-for-Asm" title="Inc&#60;MemOp32&#62;">Inc&#60;MemOp32&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-MemOp32" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-MemOp32" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-MemOp32" title="Send">Send</a></li><li><a href="#impl-Sync-for-MemOp32" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-MemOp32" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-MemOp32" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Struct <span class="struct">MemOp32</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/lib.rs.html#155-164">source</a> </span></div><pre class="rust item-decl"><code>pub struct MemOp32(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A memory operand with a dword (32 bit) size hint.</p>
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-MemOp32" class="impl"><a class="src rightside" href="../src/juicebox_asm/lib.rs.html#155-164">source</a><a href="#impl-MemOp32" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method"><a class="src rightside" href="../src/juicebox_asm/lib.rs.html#155-164">source</a><h4 class="code-header">pub fn <a href="#method.from" class="fn">from</a>(op: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a memory with size hint from a raw memory operand.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="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-Dec%3CMemOp32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#28-32">source</a><a href="#impl-Dec%3CMemOp32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#29-31">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CMemOp32%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#28-32">source</a><a href="#impl-Inc%3CMemOp32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#29-31">source</a><a href="#method.inc" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-MemOp32" class="impl"><a href="#impl-Freeze-for-MemOp32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a></h3></section><section id="impl-RefUnwindSafe-for-MemOp32" class="impl"><a href="#impl-RefUnwindSafe-for-MemOp32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a></h3></section><section id="impl-Send-for-MemOp32" class="impl"><a href="#impl-Send-for-MemOp32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a></h3></section><section id="impl-Sync-for-MemOp32" class="impl"><a href="#impl-Sync-for-MemOp32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a></h3></section><section id="impl-Unpin-for-MemOp32" class="impl"><a href="#impl-Unpin-for-MemOp32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a></h3></section><section id="impl-UnwindSafe-for-MemOp32" class="impl"><a href="#impl-UnwindSafe-for-MemOp32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.MemOp32.html" title="struct juicebox_asm::MemOp32">MemOp32</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/struct.MemOp64.html b/juicebox_asm/struct.MemOp64.html
new file mode 100644
index 0000000..05ade14
--- /dev/null
+++ b/juicebox_asm/struct.MemOp64.html
@@ -0,0 +1,13 @@
+<!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 memory operand with a qword (64 bit) size hint."><title>MemOp64 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">MemOp64</a></h2><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.from" title="from">from</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Dec%3CMemOp64%3E-for-Asm" title="Dec&#60;MemOp64&#62;">Dec&#60;MemOp64&#62;</a></li><li><a href="#impl-Inc%3CMemOp64%3E-for-Asm" title="Inc&#60;MemOp64&#62;">Inc&#60;MemOp64&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-MemOp64" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-MemOp64" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-MemOp64" title="Send">Send</a></li><li><a href="#impl-Sync-for-MemOp64" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-MemOp64" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-MemOp64" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Struct <span class="struct">MemOp64</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/lib.rs.html#155-164">source</a> </span></div><pre class="rust item-decl"><code>pub struct MemOp64(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A memory operand with a qword (64 bit) size hint.</p>
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-MemOp64" class="impl"><a class="src rightside" href="../src/juicebox_asm/lib.rs.html#155-164">source</a><a href="#impl-MemOp64" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method"><a class="src rightside" href="../src/juicebox_asm/lib.rs.html#155-164">source</a><h4 class="code-header">pub fn <a href="#method.from" class="fn">from</a>(op: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a memory with size hint from a raw memory operand.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="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-Dec%3CMemOp64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#34-38">source</a><a href="#impl-Dec%3CMemOp64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#35-37">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CMemOp64%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#34-38">source</a><a href="#impl-Inc%3CMemOp64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#35-37">source</a><a href="#method.inc" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-MemOp64" class="impl"><a href="#impl-Freeze-for-MemOp64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a></h3></section><section id="impl-RefUnwindSafe-for-MemOp64" class="impl"><a href="#impl-RefUnwindSafe-for-MemOp64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a></h3></section><section id="impl-Send-for-MemOp64" class="impl"><a href="#impl-Send-for-MemOp64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a></h3></section><section id="impl-Sync-for-MemOp64" class="impl"><a href="#impl-Sync-for-MemOp64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a></h3></section><section id="impl-Unpin-for-MemOp64" class="impl"><a href="#impl-Unpin-for-MemOp64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a></h3></section><section id="impl-UnwindSafe-for-MemOp64" class="impl"><a href="#impl-UnwindSafe-for-MemOp64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.MemOp64.html" title="struct juicebox_asm::MemOp64">MemOp64</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/struct.MemOp8.html b/juicebox_asm/struct.MemOp8.html
new file mode 100644
index 0000000..c26e365
--- /dev/null
+++ b/juicebox_asm/struct.MemOp8.html
@@ -0,0 +1,13 @@
+<!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 memory operand with a word (8 bit) size hint."><title>MemOp8 in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">MemOp8</a></h2><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.from" title="from">from</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Dec%3CMemOp8%3E-for-Asm" title="Dec&#60;MemOp8&#62;">Dec&#60;MemOp8&#62;</a></li><li><a href="#impl-Inc%3CMemOp8%3E-for-Asm" title="Inc&#60;MemOp8&#62;">Inc&#60;MemOp8&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-MemOp8" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-MemOp8" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-MemOp8" title="Send">Send</a></li><li><a href="#impl-Sync-for-MemOp8" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-MemOp8" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-MemOp8" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Struct <span class="struct">MemOp8</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/lib.rs.html#155-164">source</a> </span></div><pre class="rust item-decl"><code>pub struct MemOp8(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A memory operand with a word (8 bit) size hint.</p>
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-MemOp8" class="impl"><a class="src rightside" href="../src/juicebox_asm/lib.rs.html#155-164">source</a><a href="#impl-MemOp8" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method"><a class="src rightside" href="../src/juicebox_asm/lib.rs.html#155-164">source</a><h4 class="code-header">pub fn <a href="#method.from" class="fn">from</a>(op: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a memory with size hint from a raw memory operand.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="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-Dec%3CMemOp8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#16-20">source</a><a href="#impl-Dec%3CMemOp8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Dec.html" title="trait juicebox_asm::insn::Dec">Dec</a>&lt;<a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/dec.rs.html#17-19">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Inc%3CMemOp8%3E-for-Asm" class="impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#16-20">source</a><a href="#impl-Inc%3CMemOp8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="insn/trait.Inc.html" title="trait juicebox_asm::insn::Inc">Inc</a>&lt;<a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inc" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/insn/inc.rs.html#17-19">source</a><a href="#method.inc" class="anchor">§</a><h4 class="code-header">fn <a href="insn/trait.Inc.html#tymethod.inc" class="fn">inc</a>(&amp;mut self, op1: <a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a>)</h4></section></summary><div class='docblock'>Emit a increment instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-MemOp8" class="impl"><a href="#impl-Freeze-for-MemOp8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a></h3></section><section id="impl-RefUnwindSafe-for-MemOp8" class="impl"><a href="#impl-RefUnwindSafe-for-MemOp8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a></h3></section><section id="impl-Send-for-MemOp8" class="impl"><a href="#impl-Send-for-MemOp8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a></h3></section><section id="impl-Sync-for-MemOp8" class="impl"><a href="#impl-Sync-for-MemOp8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a></h3></section><section id="impl-Unpin-for-MemOp8" class="impl"><a href="#impl-Unpin-for-MemOp8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a></h3></section><section id="impl-UnwindSafe-for-MemOp8" class="impl"><a href="#impl-UnwindSafe-for-MemOp8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.MemOp8.html" title="struct juicebox_asm::MemOp8">MemOp8</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/juicebox_asm/struct.Runtime.html b/juicebox_asm/struct.Runtime.html
index e530951..8da3fb1 100644
--- a/juicebox_asm/struct.Runtime.html
+++ b/juicebox_asm/struct.Runtime.html
@@ -1,21 +1,20 @@
-<!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 simple `mmap`ed runtime with executable pages."><title>Runtime in juicebox_asm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_asm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Runtime</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.add_code">add_code</a></li><li><a href="#method.dump">dump</a></li><li><a href="#method.new">new</a></li><li><a href="#method.with_profile">with_profile</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Drop-for-Runtime">Drop</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Send-for-Runtime">!Send</a></li><li><a href="#impl-Sync-for-Runtime">!Sync</a></li><li><a href="#impl-RefUnwindSafe-for-Runtime">RefUnwindSafe</a></li><li><a href="#impl-Unpin-for-Runtime">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Runtime">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate juicebox_asm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../juicebox_asm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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">juicebox_asm</a>::<wbr><a class="struct" href="#">Runtime</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/juicebox_asm/rt.rs.html#57-62">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Runtime { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A simple <code>mmap</code>ed runtime with executable pages.</p>
+<!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 simple `mmap`ed runtime with executable pages."><title>Runtime in juicebox_asm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../juicebox_asm/index.html">juicebox_<wbr>asm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Runtime</a></h2><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.add_code" title="add_code">add_code</a></li><li><a href="#method.dump" title="dump">dump</a></li><li><a href="#method.new" title="new">new</a></li><li><a href="#method.with_profile" title="with_profile">with_profile</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Drop-for-Runtime" title="Drop">Drop</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Send-for-Runtime" title="!Send">!Send</a></li><li><a href="#impl-Sync-for-Runtime" title="!Sync">!Sync</a></li><li><a href="#impl-Freeze-for-Runtime" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Runtime" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Unpin-for-Runtime" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Runtime" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate juicebox_<wbr>asm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">juicebox_asm</a></span><h1>Struct <span class="struct">Runtime</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/juicebox_asm/rt.rs.html#57-62">source</a> </span></div><pre class="rust item-decl"><code>pub struct Runtime { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A simple <code>mmap</code>ed runtime with executable pages.</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Runtime" class="impl"><a class="src rightside" href="../src/juicebox_asm/rt.rs.html#64-210">source</a><a href="#impl-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</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/juicebox_asm/rt.rs.html#70-91">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>() -&gt; <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h4></section></summary><div class="docblock"><p>Create a new <a href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a>.</p>
-<h5 id="panics"><a href="#panics">Panics</a></h5>
+<h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
<p>Panics if the <code>mmap</code> call fails.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_profile" class="method"><a class="src rightside" href="../src/juicebox_asm/rt.rs.html#102-106">source</a><h4 class="code-header">pub fn <a href="#method.with_profile" class="fn">with_profile</a>() -&gt; <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h4></section></summary><div class="docblock"><p>Create a new <a href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a> which also generates static perf metat data.</p>
<p>For each function added to the <a href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a>, an entry will be generated in the
<code>/tmp/perf-&lt;PID&gt;.map</code> file, which <code>perf report</code> uses to symbolicate unknown addresses.
This is applicable for static runtimes only.</p>
-<h5 id="panics-1"><a href="#panics-1">Panics</a></h5>
+<h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
<p>Panics if the <code>mmap</code> call fails.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.add_code" class="method"><a class="src rightside" href="../src/juicebox_asm/rt.rs.html#129-155">source</a><h4 class="code-header">pub unsafe fn <a href="#method.add_code" class="fn">add_code</a>&lt;F&gt;(&amp;mut self, code: impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>]&gt;) -&gt; F</h4></section></summary><div class="docblock"><p>Add the block of <code>code</code> to the runtime and a get function pointer of type <code>F</code>.</p>
-<h5 id="panics-2"><a href="#panics-2">Panics</a></h5>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.add_code" class="method"><a class="src rightside" href="../src/juicebox_asm/rt.rs.html#129-155">source</a><h4 class="code-header">pub unsafe fn <a href="#method.add_code" class="fn">add_code</a>&lt;F&gt;(&amp;mut self, code: impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u8.html">u8</a>]&gt;) -&gt; F</h4></section></summary><div class="docblock"><p>Add the block of <code>code</code> to the runtime and a get function pointer of type <code>F</code>.</p>
+<h5 id="panics-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</h5>
<p>Panics if the <code>code</code> does not fit on the <code>mmap</code>ed pages or is empty.</p>
-<h5 id="safety"><a href="#safety">Safety</a></h5>
+<h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
<p>The code added must fulfill the ABI of the specified function <code>F</code> and the returned function
pointer is only valid until the <a href="struct.Runtime.html" title="struct juicebox_asm::Runtime"><code>Runtime</code></a> is dropped.</p>
-<h5 id="examples"><a href="#examples">Examples</a></h5>
+<h5 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>rt = juicebox_asm::Runtime::new();
<span class="kw">let </span>code = [ <span class="number">0x90 </span><span class="comment">/* nop */</span>, <span class="number">0xc3 </span><span class="comment">/* ret */ </span>];
@@ -26,19 +25,18 @@ nop();</code></pre></div>
current working directory.</p>
<p>The code can be inspected with a disassembler as for example <code>ndiasm</code> from
<a href="https://nasm.us/index.php">nasm.us</a>.</p>
-<div class="example-wrap"><pre class="language-sh"><code>ndisasm -b 64 jit.asm
-</code></pre></div><h5 id="panics-3"><a href="#panics-3">Panics</a></h5>
+<div class="example-wrap"><pre class="language-sh"><code>ndisasm -b 64 jit.asm</code></pre></div><h5 id="panics-3"><a class="doc-anchor" href="#panics-3">§</a>Panics</h5>
<p>Panics if writing the file failed.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="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-Drop-for-Runtime" class="impl"><a class="src rightside" href="../src/juicebox_asm/rt.rs.html#212-220">source</a><a href="#impl-Drop-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/rt.rs.html#215-219">source</a><a href="#method.drop" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/drop/trait.Drop.html#tymethod.drop" class="fn">drop</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Unmaps the code page. This invalidates all the function pointer returned by
+</div></details></div></details></div><h2 id="trait-implementations" class="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-Drop-for-Runtime" class="impl"><a class="src rightside" href="../src/juicebox_asm/rt.rs.html#212-220">source</a><a href="#impl-Drop-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl"><a class="src rightside" href="../src/juicebox_asm/rt.rs.html#215-219">source</a><a href="#method.drop" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/ops/drop/trait.Drop.html#tymethod.drop" class="fn">drop</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Unmaps the code page. This invalidates all the function pointer returned by
<a href="struct.Runtime.html#method.add_code" title="method juicebox_asm::Runtime::add_code"><code>Runtime::add_code</code></a>.</p>
-</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Runtime" class="impl"><a href="#impl-RefUnwindSafe-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section><section id="impl-Send-for-Runtime" class="impl"><a href="#impl-Send-for-Runtime" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section><section id="impl-Sync-for-Runtime" class="impl"><a href="#impl-Sync-for-Runtime" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section><section id="impl-Unpin-for-Runtime" class="impl"><a href="#impl-Unpin-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section><section id="impl-UnwindSafe-for-Runtime" class="impl"><a href="#impl-UnwindSafe-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Runtime" class="impl"><a href="#impl-Freeze-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section><section id="impl-RefUnwindSafe-for-Runtime" class="impl"><a href="#impl-RefUnwindSafe-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section><section id="impl-Send-for-Runtime" class="impl"><a href="#impl-Send-for-Runtime" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section><section id="impl-Sync-for-Runtime" class="impl"><a href="#impl-Sync-for-Runtime" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section><section id="impl-Unpin-for-Runtime" class="impl"><a href="#impl-Unpin-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section><section id="impl-UnwindSafe-for-Runtime" class="impl"><a href="#impl-UnwindSafe-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::Runtime">Runtime</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/search-index.js b/search-index.js
index a388764..839b585 100644
--- a/search-index.js
+++ b/search-index.js
@@ -1,8 +1,4 @@
-var searchIndex = new Map(JSON.parse('[\
-["add",{"doc":"Add example.","t":"","n":[],"q":[],"d":[],"i":[],"f":[],"c":[],"p":[],"b":[]}],\
-["fib",{"doc":"Fibonacci example.","t":"","n":[],"q":[],"d":[],"i":[],"f":[],"c":[],"p":[],"b":[]}],\
-["juicebox_asm",{"doc":"A simple <code>x64</code> jit assembler with a minimal runtime to …","t":"FFFFFPPFGGGGGFNNNNNPPPPNPNNNNNNNNNNNNNNNNNNNNNNNNPPPNPPNNNNNNNNNNNPNNPPPPNNNPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPNPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKKKKKKKKKKKKKMMMMMMMMMMMMM","n":["Asm","Imm16","Imm32","Imm64","Imm8","Indirect","IndirectDisp","Label","MemOp","Reg16","Reg32","Reg64","Reg8","Runtime","add","add","add","add","add_code","ah","al","ax","bh","bind","bl","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bp","bpl","bx","call","ch","cl","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmovnz","cmovz","cmp","cx","dec","dec","dh","di","dil","dl","drop","drop","dump","dx","eax","ebp","ebx","ecx","edi","edx","esi","esp","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","insn","into","into","into","into","into","into","into","into","into","into","into","into","into_code","jmp","jnz","jz","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","new","new","new","nop","pop","pop","push","push","r10","r10d","r10l","r10w","r11","r11d","r11l","r11w","r12","r12d","r12l","r12w","r13","r13d","r13l","r13w","r14","r14d","r14l","r14w","r15","r15d","r15l","r15w","r8","r8d","r8l","r8w","r9","r9d","r9l","r9w","rax","rbp","rbx","rcx","rdi","rdx","ret","rsi","rsp","si","sil","sp","spl","test","test","test","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","with_profile","Add","Call","Cmovnz","Cmovz","Cmp","Dec","Jmp","Jnz","Jz","Mov","Pop","Push","Test","add","call","cmovnz","cmovz","cmp","dec","jmp","jnz","jz","mov","pop","push","test"],"q":[[0,"juicebox_asm"],[250,"juicebox_asm::insn"],[276,"core::convert"],[277,"alloc::vec"],[278,"core::result"],[279,"core::any"]],"d":["<code>x64</code> jit assembler.","Type representing a 16 bit immediate.","Type representing a 32 bit immediate.","Type representing a 64 bit immediate.","Type representing an 8 bit immediate.","An indirect memory operand, eg <code>mov [rax], rcx</code>.","An indirect memory operand with additional displacement, …","A label which is used as target for jump instructions.","Type representing a memory operand.","Definition of 16 bit registers.","Definition of 32 bit registers.","Definition of 64 bit registers.","Definition of 8 bit registers.","A simple <code>mmap</code>ed runtime with executable pages.","","","","","Add the block of <code>code</code> to the runtime and a get function …","","","","","Bind the Label to the current location.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Unmaps the code page. This invalidates all the function …","Dump the code added so far to the runtime into a file …","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Returns the argument unchanged.","","","","","","","Returns the argument unchanged.","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Trait definitions of various instructions.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Consume the assembler and get the emitted code.","","","","","","","","","","","","","","","","","","","","","Create a new <code>x64</code> jit assembler.","Create a new <code>unbound</code> Label.","Create a new Runtime.","Emit a <code>nop</code> instruction.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Emit a <code>ret</code> instruction.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create a new Runtime which also generates static perf …","Trait for <code>add</code> instruction kinds.","Trait for <code>call</code> instruction kinds.","","","Trait for <code>cmp</code> instruction kinds.","Trait for <code>dec</code> instruction kinds.","Trait for <code>jmp</code> instruction kinds.","Trait for <code>jnz</code> instruction kinds.","Trait for <code>jz</code> instruction kinds.","Trait for <code>mov</code> instruction kinds.","Trait for <code>pop</code> instruction kinds.","Trait for <code>push</code> instruction kinds.","Trait for <code>test</code> instruction kinds.","Emit an add instruction.","Emit a call instruction.","Emit a (conditional) move if not zero instruction.","Emit a (conditional) move if zero instruction.","Emit a compare instruction.","Emit a decrement instruction.","Emit an unconditional jump instruction.","Emit a conditional jump if not zero instruction (<code>ZF = 0</code>).","Emit a conditional jump if zero instruction (<code>ZF = 1</code>).","Emit an move instruction.","Emit a pop instruction.","Emit a push instruction.","Emit a logical compare instruction."],"i":[0,0,0,0,0,2,2,0,0,0,0,0,0,0,1,1,1,1,8,13,13,3,13,1,13,1,12,8,2,14,5,19,21,6,7,3,13,1,12,8,2,14,5,19,21,6,7,3,13,3,13,3,1,13,13,6,7,3,13,6,7,3,13,1,1,1,3,1,1,13,3,13,13,12,8,8,3,7,7,7,7,7,7,7,7,1,12,8,2,14,14,14,5,5,5,5,5,19,19,19,19,19,19,19,21,21,21,21,21,21,21,21,21,21,21,6,7,3,13,0,1,12,8,2,14,5,19,21,6,7,3,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,8,1,1,1,1,1,6,7,13,3,6,7,13,3,6,7,13,3,6,7,13,3,6,7,13,3,6,7,13,3,6,7,13,3,6,7,13,3,6,6,6,6,6,6,1,6,6,3,13,3,13,1,1,1,6,7,3,13,1,12,8,2,14,5,19,21,6,7,3,13,1,12,8,2,14,5,19,21,6,7,3,13,1,12,8,2,14,5,19,21,6,7,3,13,8,0,0,0,0,0,0,0,0,0,0,0,0,0,29,30,31,32,33,34,35,36,37,38,39,40,41],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,2,3],4],[[1,2,5],4],[[1,6,6],4],[[1,7,7],4],[[8,-1],-2,[[11,[[10,[9]]]]],[]],0,0,0,0,[[1,12],4],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[1,6],4],0,0,[6,6],[7,7],[3,3],[13,13],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[1,6,6],4],[[1,6,6],4],[[1,2,5],4],0,[[1,6],4],[[1,7],4],0,0,0,0,[12,4],[8,4],[8,4],0,0,0,0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[9,14],[15,14],[16,5],[9,5],[15,5],[-1,-1,[]],[17,5],[18,19],[15,19],[16,19],[17,19],[9,19],[-1,-1,[]],[20,19],[17,21],[16,21],[22,21],[23,21],[24,21],[9,21],[20,21],[18,21],[25,21],[-1,-1,[]],[15,21],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[1,[[26,[9]]]],[[1,12],4],[[1,12],4],[[1,12],4],[[1,6,6],4],[[1,2,7],4],[[1,13,2],4],[[1,2,5],4],[[1,13,13],4],[[1,3,2],4],[[1,7,2],4],[[1,3,5],4],[[1,7,7],4],[[1,6,21],4],[[1,2,13],4],[[1,2,3],4],[[1,6,2],4],[[1,13,14],4],[[1,2,6],4],[[1,3,3],4],[[1,7,19],4],[[],1],[[],12],[[],8],[1,4],[[1,3],4],[[1,6],4],[[1,3],4],[[1,6],4],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,4],0,0,0,0,0,0,[[1,2,5],4],[[1,6,6],4],[[1,7,7],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,[[27,[-2]]],[],[]],[-1,28,[]],[-1,28,[]],[-1,28,[]],[-1,28,[]],[-1,28,[]],[-1,28,[]],[-1,28,[]],[-1,28,[]],[-1,28,[]],[-1,28,[]],[-1,28,[]],[-1,28,[]],[[],8],0,0,0,0,0,0,0,0,0,0,0,0,0,[[29,-1,-2],4,[],[]],[[30,-1],4,[]],[[31,-1,-2],4,[],[]],[[32,-1,-2],4,[],[]],[[33,-1,-2],4,[],[]],[[34,-1],4,[]],[[35,-1],4,[]],[[36,-1],4,[]],[[37,-1],4,[]],[[38,-1,-2],4,[],[]],[[39,-1],4,[]],[[40,-1],4,[]],[[41,-1,-2],4,[],[]]],"c":[],"p":[[5,"Asm",0],[6,"MemOp",0],[6,"Reg16",0],[1,"tuple"],[5,"Imm16",0],[6,"Reg64",0],[6,"Reg32",0],[5,"Runtime",0],[1,"u8"],[1,"slice"],[10,"AsRef",276],[5,"Label",0],[6,"Reg8",0],[5,"Imm8",0],[1,"i8"],[1,"u16"],[1,"i16"],[1,"u32"],[5,"Imm32",0],[1,"i32"],[5,"Imm64",0],[1,"i64"],[1,"isize"],[1,"usize"],[1,"u64"],[5,"Vec",277],[6,"Result",278],[5,"TypeId",279],[10,"Add",250],[10,"Call",250],[10,"Cmovnz",250],[10,"Cmovz",250],[10,"Cmp",250],[10,"Dec",250],[10,"Jmp",250],[10,"Jnz",250],[10,"Jz",250],[10,"Mov",250],[10,"Pop",250],[10,"Push",250],[10,"Test",250]],"b":[[14,"impl-Add%3CMemOp,+Reg16%3E-for-Asm"],[15,"impl-Add%3CMemOp,+Imm16%3E-for-Asm"],[16,"impl-Add%3CReg64,+Reg64%3E-for-Asm"],[17,"impl-Add%3CReg32,+Reg32%3E-for-Asm"],[67,"impl-Dec%3CReg64%3E-for-Asm"],[68,"impl-Dec%3CReg32%3E-for-Asm"],[90,"impl-From%3Cu8%3E-for-Imm8"],[91,"impl-From%3Ci8%3E-for-Imm8"],[92,"impl-From%3Cu16%3E-for-Imm16"],[93,"impl-From%3Cu8%3E-for-Imm16"],[94,"impl-From%3Ci8%3E-for-Imm16"],[96,"impl-From%3Ci16%3E-for-Imm16"],[97,"impl-From%3Cu32%3E-for-Imm32"],[98,"impl-From%3Ci8%3E-for-Imm32"],[99,"impl-From%3Cu16%3E-for-Imm32"],[100,"impl-From%3Ci16%3E-for-Imm32"],[101,"impl-From%3Cu8%3E-for-Imm32"],[103,"impl-From%3Ci32%3E-for-Imm32"],[104,"impl-From%3Ci16%3E-for-Imm64"],[105,"impl-From%3Cu16%3E-for-Imm64"],[106,"impl-From%3Ci64%3E-for-Imm64"],[107,"impl-From%3Cisize%3E-for-Imm64"],[108,"impl-From%3Cusize%3E-for-Imm64"],[109,"impl-From%3Cu8%3E-for-Imm64"],[110,"impl-From%3Ci32%3E-for-Imm64"],[111,"impl-From%3Cu32%3E-for-Imm64"],[112,"impl-From%3Cu64%3E-for-Imm64"],[114,"impl-From%3Ci8%3E-for-Imm64"],[136,"impl-Mov%3CReg64,+Reg64%3E-for-Asm"],[137,"impl-Mov%3CMemOp,+Reg32%3E-for-Asm"],[138,"impl-Mov%3CReg8,+MemOp%3E-for-Asm"],[139,"impl-Mov%3CMemOp,+Imm16%3E-for-Asm"],[140,"impl-Mov%3CReg8,+Reg8%3E-for-Asm"],[141,"impl-Mov%3CReg16,+MemOp%3E-for-Asm"],[142,"impl-Mov%3CReg32,+MemOp%3E-for-Asm"],[143,"impl-Mov%3CReg16,+Imm16%3E-for-Asm"],[144,"impl-Mov%3CReg32,+Reg32%3E-for-Asm"],[145,"impl-Mov%3CReg64,+Imm64%3E-for-Asm"],[146,"impl-Mov%3CMemOp,+Reg8%3E-for-Asm"],[147,"impl-Mov%3CMemOp,+Reg16%3E-for-Asm"],[148,"impl-Mov%3CReg64,+MemOp%3E-for-Asm"],[149,"impl-Mov%3CReg8,+Imm8%3E-for-Asm"],[150,"impl-Mov%3CMemOp,+Reg64%3E-for-Asm"],[151,"impl-Mov%3CReg16,+Reg16%3E-for-Asm"],[152,"impl-Mov%3CReg32,+Imm32%3E-for-Asm"],[157,"impl-Pop%3CReg16%3E-for-Asm"],[158,"impl-Pop%3CReg64%3E-for-Asm"],[159,"impl-Push%3CReg16%3E-for-Asm"],[160,"impl-Push%3CReg64%3E-for-Asm"],[206,"impl-Test%3CMemOp,+Imm16%3E-for-Asm"],[207,"impl-Test%3CReg64,+Reg64%3E-for-Asm"],[208,"impl-Test%3CReg32,+Reg32%3E-for-Asm"]]}],\
-["tiny_vm",{"doc":"TinyVm example.","t":"PPPPPPPFPPPFPGGFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHNNNNNNNNNNNNNNNNNNNNNNN","n":["A","Add","Addi","B","Branch","BranchZero","C","Fixup","Halt","Load","LoadImm","PhysAddr","Store","TinyInsn","TinyReg","TinyVm","bind","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","dump","eq","eq","fmt","fmt","from","from","from","from","from","interp","into","into","into","into","into","into","jit","make_tinyvm_fib","make_tinyvm_jit_perf","make_tinyvm_jit_test","new","new","read_mem","read_reg","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","write_mem","write_reg"],"q":[[0,"tiny_vm"],[75,"alloc::vec"],[76,"core::fmt"],[77,"core::fmt"],[78,"core::any"]],"d":["","Add the register to the register <code>reg1 += reg2</code>.","Add the immediate to the register <code>reg += imm</code>.","","Jump unconditional (absolute addressing) <code>pc = disp</code>.","Jump if the register is zero (absolute addressing) …","","A minial fixup utility to implement jump labels when …","Halt the VM.","Load a value from the memory (absolute addressing) into …","Load the immediate value into the register <code>reg = imm</code>.","A guest physical address.","Store a value from the register into the memory (absolute …","The instructions for the <code>TinyVm</code>.","The registers for the <code>TinyVm</code>.","The <code>TinyVm</code> virtual machine state.","Bind the <code>Fixup</code> to the current location of <code>prog</code> and resolve …","","","","","","","","","","","","","","","Dump the VM state to stdout.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Run in interpreter mode until the next <code>TinyInsn::Halt</code> …","","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Run in JIT mode until the next <code>TinyInsn::Halt</code> instruction …","Generate a guest program to compute the fiibonacci …","Generate a simple count down loop to crunch some …","Generate a test program for the jit.","Create a new <code>TinyVm</code> and initialize the instruction memory …","Create a new <code>Fixup</code> at the current pc.","Read guest data memory.","Read guest register.","","","","","","","","","","","","","","","","","","Write guest data memory.","Write guest register."],"i":[5,2,2,5,2,2,5,0,2,2,2,0,2,0,0,0,1,10,6,1,5,2,10,6,1,5,2,5,2,5,2,6,5,2,5,2,10,6,1,5,2,6,10,10,6,1,5,2,6,0,0,0,6,1,6,6,5,2,10,6,1,5,2,10,6,1,5,2,10,6,1,5,2,6,6],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,[3,[2]]],4],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[5,5],[2,2],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[6,4],[[5,5],7],[[2,2],7],[[5,8],9],[[2,8],9],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[6,4],[10,11],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[6,4],[12,[[3,[2]]]],[[],[[3,[2]]]],[[],[[3,[2]]]],[[[3,[2]]],6],[11,1],[[6,10],12],[[6,5],12],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,[[13,[-2]]],[],[]],[-1,14,[]],[-1,14,[]],[-1,14,[]],[-1,14,[]],[-1,14,[]],[[6,10,12],4],[[6,5,12],4]],"c":[],"p":[[5,"Fixup",0],[6,"TinyInsn",0],[5,"Vec",75],[1,"tuple"],[6,"TinyReg",0],[5,"TinyVm",0],[1,"bool"],[5,"Formatter",76],[8,"Result",76],[5,"PhysAddr",0],[1,"usize"],[1,"u16"],[6,"Result",77],[5,"TypeId",78]],"b":[]}]\
-]'));
+var searchIndex = new Map(JSON.parse('[["add",{"t":"","n":[],"q":[],"i":"","f":"","D":"b","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAAAAAA="}],["bf_vm",{"t":"","n":[],"q":[],"i":"","f":"","D":"b","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAAAAAA="}],["fib",{"t":"","n":[],"q":[],"i":"","f":"","D":"b","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAAAAAA="}],["juicebox_asm",{"t":"FFFFFPPPFGFFFFGGGGFNNNNNNNPPPPNPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPNPPNNNNNNNNNNNNNNNNNNNPNNNNNNPPPPNNNPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPNPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKKKKKKKKKKKKKKKMMMMMMMMMMMMMMM","n":["Asm","Imm16","Imm32","Imm64","Imm8","Indirect","IndirectBaseIndex","IndirectDisp","Label","MemOp","MemOp16","MemOp32","MemOp64","MemOp8","Reg16","Reg32","Reg64","Reg8","Runtime","add","","","","","","add_code","ah","al","ax","bh","bind","bl","borrow","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","bp","bpl","bx","call","ch","cl","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","cmovnz","cmovz","cmp","","cx","dec","","","","","","dh","di","dil","dl","drop","","dump","dx","eax","ebp","ebx","ecx","edi","edx","esi","esp","from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","inc","","","","","","insn","into","","","","","","","","","","","","","","","","into_code","jmp","jnz","jz","mov","","","","","","","","","","","","","","","","","new","","","nop","pop","","push","","r10","r10d","r10l","r10w","r11","r11d","r11l","r11w","r12","r12d","r12l","r12w","r13","r13d","r13l","r13w","r14","r14d","r14l","r14w","r15","r15d","r15l","r15w","r8","r8d","r8l","r8w","r9","r9d","r9l","r9w","rax","rbp","rbx","rcx","rdi","rdx","ret","rsi","rsp","si","sil","sp","spl","test","","","to_owned","","","","","try_from","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","type_id","","","","","","","","","","","","","","","","with_profile","xor","Add","Call","Cmovnz","Cmovz","Cmp","Dec","Inc","Jmp","Jnz","Jz","Mov","Pop","Push","Test","Xor","add","call","cmovnz","cmovz","cmp","dec","inc","jmp","jnz","jz","mov","pop","push","test","xor"],"q":[[0,"juicebox_asm"],[309,"juicebox_asm::insn"],[339,"juicebox_asm::asm"],[340,"juicebox_asm::reg"],[341,"juicebox_asm::imm"],[342,"juicebox_asm::rt"],[343,"core::convert"],[344,"juicebox_asm::label"],[345,"alloc::vec"],[346,"core::result"],[347,"core::any"]],"i":"`````h00```````````d00000AdAn0j1313Al3B`A`C`CfnAb78;BhBbBfBd>:=987654;<?3210;<;><<54;<?54;<?54;<?>>>>;>>>>>><;<<:==;44444444>:=9998888877777776666666666654;<?33221100>>>>>>`>:=987654;<?3210>>>>>>>>>>>>>>>>>>>>>>:=>>>>>54<;54<;54<;54<;54<;54<;54<;54<;555555>55;<;<>>>54;<?>:=987654;<?3210>:=987654;<?3210>:=987654;<?3210=>```````````````DfDhDjDlDnE`EbEdEfEhEjElEnF`Fb","f":"```````````````````{{{f{bd}}hj}l}{{{f{bd}}nh}l}{{{f{bd}}hA`}l}{{{f{bd}}hn}l}{{{f{bd}}AbAb}l}{{{f{bd}}nn}l}{{{f{bAd}}c}e{{Aj{{Ah{Af}}}}}{}}````{{{f{bd}}{f{bAl}}}l}`{f{{f{c}}}{}}000000000000000{{{f{b}}}{{f{bc}}}{}}000000000000000```{{{f{bd}}n}l}``{{{f{n}}}n}{{{f{Ab}}}Ab}{{{f{j}}}j}{{{f{An}}}An}{{{f{h}}}h}{{f{f{bc}}}l{}}0000{fl}0000<<{{{f{bd}}hB`}l}{{{f{bd}}hA`}l}`{{{f{bd}}Ab}l}{{{f{bd}}Bb}l}{{{f{bd}}Bd}l}{{{f{bd}}Bf}l}={{{f{bd}}Bh}l}````{{{f{bAl}}}l}{{{f{bAd}}}l}{{{f{Ad}}}l}`````````{cc{}}00{AfB`}{BjB`}22{AfA`}{BjA`}{BlA`}{BnA`}{BjC`}{BnC`}{CbC`}{BlC`}:{AfC`}{CdC`}{CbCf}{BjCf}{ChCf}?{CjCf}{CdCf}{BlCf}{AfCf}{ClCf}{CnCf}{BnCf}{cc{}}0000{hBh}11{hBb}2{hBf}{hBd}4{{{f{bd}}Bh}l}{{{f{bd}}Ab}l}{{{f{bd}}Bb}l}{{{f{bd}}Bf}l}{{{f{bd}}Bd}l}{{{f{bd}}n}l}`{{}c{}}000000000000000{d{{D`{Af}}}}{{{f{bd}}{f{bAl}}}l}00{{{f{bd}}AnAn}l}{{{f{bd}}nCf}l}{{{f{bd}}jA`}l}{{{f{bd}}nh}l}{{{f{bd}}hAn}l}{{{f{bd}}hj}l}{{{f{bd}}AnB`}l}{{{f{bd}}hA`}l}{{{f{bd}}hAb}l}{{{f{bd}}Abh}l}{{{f{bd}}AbC`}l}{{{f{bd}}jj}l}{{{f{bd}}AbAb}l}{{{f{bd}}nn}l}{{{f{bd}}jh}l}{{{f{bd}}Anh}l}{{{f{bd}}hn}l}{{}d}{{}Al}{{}Ad}{{{f{bd}}}l}{{{f{bd}}n}l}{{{f{bd}}j}l}10``````````````````````````````````````2``````9?:{fc{}}0000{c{{Db{e}}}{}{}}000000000000000{{}{{Db{c}}}{}}000000000000000{fDd}0000000000000007=```````````````{{{f{bDf}}ce}l{}{}}{{{f{bDh}}c}l{}}{{{f{bDj}}ce}l{}{}}{{{f{bDl}}ce}l{}{}}{{{f{bDn}}ce}l{}{}}{{{f{bE`}}c}l{}}{{{f{bEb}}c}l{}}{{{f{bEd}}c}l{}}{{{f{bEf}}c}l{}}{{{f{bEh}}c}l{}}{{{f{bEj}}ce}l{}{}}{{{f{bEl}}c}l{}}{{{f{bEn}}c}l{}}{{{f{bF`}}ce}l{}{}}{{{f{bFb}}ce}l{}{}}","D":"L`","p":[[0,"mut"],[5,"Asm",0,339],[1,"reference"],[6,"MemOp",0],[6,"Reg16",0,340],[1,"unit"],[6,"Reg64",0,340],[5,"Imm16",0,341],[6,"Reg32",0,340],[5,"Runtime",0,342],[1,"u8"],[1,"slice"],[10,"AsRef",343],[5,"Label",0,344],[6,"Reg8",0,340],[5,"Imm8",0,341],[5,"MemOp16",0],[5,"MemOp64",0],[5,"MemOp32",0],[5,"MemOp8",0],[1,"i8"],[1,"i16"],[1,"u16"],[5,"Imm32",0,341],[1,"u32"],[1,"i32"],[5,"Imm64",0,341],[1,"i64"],[1,"u64"],[1,"isize"],[1,"usize"],[5,"Vec",345],[6,"Result",346],[5,"TypeId",347],[10,"Add",309],[10,"Call",309],[10,"Cmovnz",309],[10,"Cmovz",309],[10,"Cmp",309],[10,"Dec",309],[10,"Inc",309],[10,"Jmp",309],[10,"Jnz",309],[10,"Jz",309],[10,"Mov",309],[10,"Pop",309],[10,"Push",309],[10,"Test",309],[10,"Xor",309]],"r":[[0,339],[1,341],[2,341],[3,341],[4,341],[8,344],[14,340],[15,340],[16,340],[17,340],[18,342]],"b":[[19,"impl-Add%3CMemOp,+Reg16%3E-for-Asm"],[20,"impl-Add%3CReg64,+MemOp%3E-for-Asm"],[21,"impl-Add%3CMemOp,+Imm16%3E-for-Asm"],[22,"impl-Add%3CMemOp,+Reg64%3E-for-Asm"],[23,"impl-Add%3CReg32,+Reg32%3E-for-Asm"],[24,"impl-Add%3CReg64,+Reg64%3E-for-Asm"],[87,"impl-Cmp%3CMemOp,+Imm8%3E-for-Asm"],[88,"impl-Cmp%3CMemOp,+Imm16%3E-for-Asm"],[90,"impl-Dec%3CReg32%3E-for-Asm"],[91,"impl-Dec%3CMemOp16%3E-for-Asm"],[92,"impl-Dec%3CMemOp64%3E-for-Asm"],[93,"impl-Dec%3CMemOp32%3E-for-Asm"],[94,"impl-Dec%3CReg64%3E-for-Asm"],[95,"impl-Dec%3CMemOp8%3E-for-Asm"],[115,"impl-From%3Cu8%3E-for-Imm8"],[116,"impl-From%3Ci8%3E-for-Imm8"],[119,"impl-From%3Cu8%3E-for-Imm16"],[120,"impl-From%3Ci8%3E-for-Imm16"],[121,"impl-From%3Ci16%3E-for-Imm16"],[122,"impl-From%3Cu16%3E-for-Imm16"],[123,"impl-From%3Ci8%3E-for-Imm32"],[124,"impl-From%3Cu16%3E-for-Imm32"],[125,"impl-From%3Cu32%3E-for-Imm32"],[126,"impl-From%3Ci16%3E-for-Imm32"],[128,"impl-From%3Cu8%3E-for-Imm32"],[129,"impl-From%3Ci32%3E-for-Imm32"],[130,"impl-From%3Cu32%3E-for-Imm64"],[131,"impl-From%3Ci8%3E-for-Imm64"],[132,"impl-From%3Ci64%3E-for-Imm64"],[134,"impl-From%3Cu64%3E-for-Imm64"],[135,"impl-From%3Ci32%3E-for-Imm64"],[136,"impl-From%3Ci16%3E-for-Imm64"],[137,"impl-From%3Cu8%3E-for-Imm64"],[138,"impl-From%3Cisize%3E-for-Imm64"],[139,"impl-From%3Cusize%3E-for-Imm64"],[140,"impl-From%3Cu16%3E-for-Imm64"],[154,"impl-Inc%3CMemOp8%3E-for-Asm"],[155,"impl-Inc%3CReg32%3E-for-Asm"],[156,"impl-Inc%3CMemOp16%3E-for-Asm"],[157,"impl-Inc%3CMemOp32%3E-for-Asm"],[158,"impl-Inc%3CMemOp64%3E-for-Asm"],[159,"impl-Inc%3CReg64%3E-for-Asm"],[181,"impl-Mov%3CReg8,+Reg8%3E-for-Asm"],[182,"impl-Mov%3CReg64,+Imm64%3E-for-Asm"],[183,"impl-Mov%3CReg16,+Imm16%3E-for-Asm"],[184,"impl-Mov%3CReg64,+MemOp%3E-for-Asm"],[185,"impl-Mov%3CMemOp,+Reg8%3E-for-Asm"],[186,"impl-Mov%3CMemOp,+Reg16%3E-for-Asm"],[187,"impl-Mov%3CReg8,+Imm8%3E-for-Asm"],[188,"impl-Mov%3CMemOp,+Imm16%3E-for-Asm"],[189,"impl-Mov%3CMemOp,+Reg32%3E-for-Asm"],[190,"impl-Mov%3CReg32,+MemOp%3E-for-Asm"],[191,"impl-Mov%3CReg32,+Imm32%3E-for-Asm"],[192,"impl-Mov%3CReg16,+Reg16%3E-for-Asm"],[193,"impl-Mov%3CReg32,+Reg32%3E-for-Asm"],[194,"impl-Mov%3CReg64,+Reg64%3E-for-Asm"],[195,"impl-Mov%3CReg16,+MemOp%3E-for-Asm"],[196,"impl-Mov%3CReg8,+MemOp%3E-for-Asm"],[197,"impl-Mov%3CMemOp,+Reg64%3E-for-Asm"],[202,"impl-Pop%3CReg64%3E-for-Asm"],[203,"impl-Pop%3CReg16%3E-for-Asm"],[204,"impl-Push%3CReg64%3E-for-Asm"],[205,"impl-Push%3CReg16%3E-for-Asm"],[251,"impl-Test%3CReg64,+Reg64%3E-for-Asm"],[252,"impl-Test%3CMemOp,+Imm16%3E-for-Asm"],[253,"impl-Test%3CReg32,+Reg32%3E-for-Asm"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAPMADgAUAAUAGwADACAARQBoAAgAdAABAHgABwCBAAQAhwAGAJsABQCzABMAywApAPYAPQA1AQAAOAEBAA=="}],["tiny_vm",{"t":"PPPPPPPFPPPFPGGFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHNNNNNNNNNNNNNNNNNNNNNNN","n":["A","Add","Addi","B","Branch","BranchZero","C","Fixup","Halt","Load","LoadImm","PhysAddr","Store","TinyInsn","TinyReg","TinyVm","bind","borrow","","","","","borrow_mut","","","","","clone","","clone_into","","clone_to_uninit","","dump","eq","","fmt","","from","","","","","interp","into","","","","","","jit","make_tinyvm_fib","make_tinyvm_jit_perf","make_tinyvm_jit_test","new","","read_mem","read_reg","to_owned","","try_from","","","","","try_into","","","","","type_id","","","","","write_mem","write_reg"],"q":[[0,"tiny_vm"],[77,"alloc::vec"],[78,"core::fmt"],[79,"core::result"],[80,"core::any"]],"i":"nf01001`000`0```bAhA`24310243434343043431024301102430```02004310243102431024300","f":"````````````````{{b{j{d{h{f}}}}}l}{j{{j{c}}}{}}0000{{{j{d}}}{{j{dc}}}{}}0000{{{j{n}}}n}{{{j{f}}}f}{{j{j{dc}}}l{}}0{jl}0{{{j{A`}}}l}{{{j{n}}{j{n}}}Ab}{{{j{f}}{j{f}}}Ab}{{{j{n}}{j{dAd}}}Af}{{{j{f}}{j{dAd}}}Af}{cc{}}0000{{{j{dA`}}}l}{AhAj}{{}c{}}00002{Al{{h{f}}}}{{}{{h{f}}}}0{{{h{f}}}A`}{Ajb}{{{j{A`}}Ah}Al}{{{j{A`}}n}Al}{jc{}}0{c{{An{e}}}{}{}}0000{{}{{An{c}}}{}}0000{jB`}0000{{{j{dA`}}AhAl}l}{{{j{dA`}}nAl}l}","D":"Dj","p":[[5,"Fixup",0],[0,"mut"],[6,"TinyInsn",0],[5,"Vec",77],[1,"reference"],[1,"unit"],[6,"TinyReg",0],[5,"TinyVm",0],[1,"bool"],[5,"Formatter",78],[8,"Result",78],[5,"PhysAddr",0],[1,"usize"],[1,"u16"],[6,"Result",79],[5,"TypeId",80]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACgABwABAAAABAAAAAcAAAASAA8AIwADAC0AAAA7ABAA"}]]'));
if (typeof exports !== 'undefined') exports.searchIndex = searchIndex;
else if (window.initSearch) window.initSearch(searchIndex);
+//{"start":39,"fragment_lengths":[111,114,112,7729,1542]} \ No newline at end of file
diff --git a/search.desc/add/add-desc-0-.js b/search.desc/add/add-desc-0-.js
new file mode 100644
index 0000000..9ea9e40
--- /dev/null
+++ b/search.desc/add/add-desc-0-.js
@@ -0,0 +1 @@
+searchState.loadedDescShard("add", 0, "Add example.") \ No newline at end of file
diff --git a/search.desc/bf_vm/bf_vm-desc-0-.js b/search.desc/bf_vm/bf_vm-desc-0-.js
new file mode 100644
index 0000000..0387065
--- /dev/null
+++ b/search.desc/bf_vm/bf_vm-desc-0-.js
@@ -0,0 +1 @@
+searchState.loadedDescShard("bf_vm", 0, "Brainfuck VM.") \ No newline at end of file
diff --git a/search.desc/fib/fib-desc-0-.js b/search.desc/fib/fib-desc-0-.js
new file mode 100644
index 0000000..9b6e749
--- /dev/null
+++ b/search.desc/fib/fib-desc-0-.js
@@ -0,0 +1 @@
+searchState.loadedDescShard("fib", 0, "Fibonacci example.") \ No newline at end of file
diff --git a/search.desc/juicebox_asm/juicebox_asm-desc-0-.js b/search.desc/juicebox_asm/juicebox_asm-desc-0-.js
new file mode 100644
index 0000000..dbf833c
--- /dev/null
+++ b/search.desc/juicebox_asm/juicebox_asm-desc-0-.js
@@ -0,0 +1 @@
+searchState.loadedDescShard("juicebox_asm", 0, "A simple <code>x64</code> jit assembler with a minimal runtime to …\n<code>x64</code> jit assembler.\nType representing a 16 bit immediate.\nType representing a 32 bit immediate.\nType representing a 64 bit immediate.\nType representing an 8 bit immediate.\nAn indirect memory operand, eg <code>mov [rax], rcx</code>.\nAn indirect memory operand in the form base + index, eg …\nAn indirect memory operand with additional displacement, …\nA label which is used as target for jump instructions.\nType representing a memory operand.\nA memory operand with a word (16 bit) size hint.\nA memory operand with a dword (32 bit) size hint.\nA memory operand with a qword (64 bit) size hint.\nA memory operand with a word (8 bit) size hint.\nDefinition of 16 bit registers.\nDefinition of 32 bit registers.\nDefinition of 64 bit registers.\nDefinition of 8 bit registers.\nA simple <code>mmap</code>ed runtime with executable pages.\nAdd the block of <code>code</code> to the runtime and a get function …\nBind the Label to the current location.\nUnmaps the code page. This invalidates all the function …\nDump the code added so far to the runtime into a file …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate a memory with size hint from a raw memory operand.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate a memory with size hint from a raw memory operand.\nReturns the argument unchanged.\nCreate a memory with size hint from a raw memory operand.\nCreate a memory with size hint from a raw memory operand.\nReturns the argument unchanged.\nTrait definitions of various instructions.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nConsume the assembler and get the emitted code.\nCreate a new <code>x64</code> jit assembler.\nCreate a new <code>unbound</code> Label.\nCreate a new Runtime.\nEmit a <code>nop</code> instruction.\nEmit a <code>ret</code> instruction.\nCreate a new Runtime which also generates static perf …\nTrait for <code>add</code> instruction kinds.\nTrait for <code>call</code> instruction kinds.\nTrait for <code>cmp</code> instruction kinds.\nTrait for <code>dec</code> instruction kinds.\nTrait for <code>inc</code> instruction kinds.\nTrait for <code>jmp</code> instruction kinds.\nTrait for <code>jnz</code> instruction kinds.\nTrait for <code>jz</code> instruction kinds.\nTrait for <code>mov</code> instruction kinds.\nTrait for <code>pop</code> instruction kinds.\nTrait for <code>push</code> instruction kinds.\nTrait for <code>test</code> instruction kinds.\nTrait for <code>xor</code> instruction kinds.\nEmit an add instruction.\nEmit a call instruction.\nEmit a (conditional) move if not zero instruction.\nEmit a (conditional) move if zero instruction.\nEmit a compare instruction.\nEmit a decrement instruction.\nEmit a increment instruction.\nEmit an unconditional jump instruction.\nEmit a conditional jump if not zero instruction (<code>ZF = 0</code>).\nEmit a conditional jump if zero instruction (<code>ZF = 1</code>).\nEmit an move instruction.\nEmit a pop instruction.\nEmit a push instruction.\nEmit a logical compare instruction.\nEmit a xor instruction.") \ No newline at end of file
diff --git a/search.desc/tiny_vm/tiny_vm-desc-0-.js b/search.desc/tiny_vm/tiny_vm-desc-0-.js
new file mode 100644
index 0000000..06fb5d0
--- /dev/null
+++ b/search.desc/tiny_vm/tiny_vm-desc-0-.js
@@ -0,0 +1 @@
+searchState.loadedDescShard("tiny_vm", 0, "TinyVm example.\nAdd the register to the register <code>reg1 += reg2</code>.\nAdd the immediate to the register <code>reg += imm</code>.\nJump unconditional (absolute addressing) <code>pc = disp</code>.\nJump if the register is zero (absolute addressing) …\nA minial fixup utility to implement jump labels when …\nHalt the VM.\nLoad a value from the memory (absolute addressing) into …\nLoad the immediate value into the register <code>reg = imm</code>.\nA guest physical address.\nStore a value from the register into the memory (absolute …\nThe instructions for the <code>TinyVm</code>.\nThe registers for the <code>TinyVm</code>.\nThe <code>TinyVm</code> virtual machine state.\nBind the <code>Fixup</code> to the current location of <code>prog</code> and resolve …\nDump the VM state to stdout.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRun in interpreter mode until the next <code>TinyInsn::Halt</code> …\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nRun in JIT mode until the next <code>TinyInsn::Halt</code> instruction …\nGenerate a guest program to compute the fiibonacci …\nGenerate a simple count down loop to crunch some …\nGenerate a test program for the jit.\nCreate a new <code>TinyVm</code> and initialize the instruction memory …\nCreate a new <code>Fixup</code> at the current pc.\nRead guest data memory.\nRead guest register.\nWrite guest data memory.\nWrite guest register.") \ No newline at end of file
diff --git a/settings.html b/settings.html
index c51c03b..6c51b9b 100644
--- a/settings.html
+++ b/settings.html
@@ -1,2 +1 @@
-<!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="Settings of Rustdoc"><title>Settings</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="./static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="./static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-feafe1bb7466e4bd.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 mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.76.0</span></h2></div><div class="version">(07dca489a 2024-02-04)</div><h2 class="location">Settings</h2><div class="sidebar-elems"></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="./help.html" title="help">?</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>Rustdoc settings</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section>You need to enable JavaScript be able to update your settings.</section></noscript><script defer src="./static.files/settings-4313503d2e1961c2.js"></script></section></div></main></body></html> \ No newline at end of file
+<!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="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/${f}">`).join(""))</script><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="bf_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="./static.files/storage-1d39b6787ed640ff.js"></script><script defer src="./static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod sys"><!--[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" title="show sidebar"></button><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="./index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2><a href="./index.html">Rustdoc</a><span class="version">1.83.0</span></h2></div><div class="version">(90b35a623 2024-11-26)</div><h2 class="location">Settings</h2><div class="sidebar-elems"></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Rustdoc settings</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section>You need to enable JavaScript be able to update your settings.</section></noscript><script defer src="./static.files/settings-805db61a62df4bd2.js"></script></section></div></main></body></html> \ No newline at end of file
diff --git a/src-files.js b/src-files.js
index fe5bae1..9762bfa 100644
--- a/src-files.js
+++ b/src-files.js
@@ -1,7 +1,3 @@
-var srcIndex = new Map(JSON.parse('[\
-["add",["",[],["add.rs"]]],\
-["fib",["",[],["fib.rs"]]],\
-["juicebox_asm",["",[["insn",[],["add.rs","call.rs","cmovnz.rs","cmovz.rs","cmp.rs","dec.rs","jmp.rs","jnz.rs","jz.rs","mov.rs","nop.rs","pop.rs","push.rs","ret.rs","test.rs"]]],["asm.rs","imm.rs","insn.rs","label.rs","lib.rs","reg.rs","rt.rs"]]],\
-["tiny_vm",["",[],["tiny_vm.rs"]]]\
-]'));
+var srcIndex = new Map(JSON.parse('[["add",["",[],["add.rs"]]],["bf_vm",["",[],["bf_vm.rs"]]],["fib",["",[],["fib.rs"]]],["juicebox_asm",["",[["insn",[],["add.rs","call.rs","cmovnz.rs","cmovz.rs","cmp.rs","dec.rs","inc.rs","jmp.rs","jnz.rs","jz.rs","mov.rs","nop.rs","pop.rs","push.rs","ret.rs","test.rs","xor.rs"]]],["asm.rs","imm.rs","insn.rs","label.rs","lib.rs","reg.rs","rt.rs"]]],["tiny_vm",["",[],["tiny_vm.rs"]]]]'));
createSrcSidebar();
+//{"start":36,"fragment_lengths":[26,31,27,265,35]} \ No newline at end of file
diff --git a/src/add/add.rs.html b/src/add/add.rs.html
index 5e602fb..38058ec 100644
--- a/src/add/add.rs.html
+++ b/src/add/add.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `examples/add.rs`."><title>add.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="add" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `examples/add.rs`."><title>add.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="add" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">add/</div>add.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -36,8 +36,7 @@
<a href="#35" id="35">35</a>
<a href="#36" id="36">36</a>
<a href="#37" id="37">37</a>
-<a href="#38" id="38">38</a>
-</pre></div><pre class="rust"><code><span class="doccomment">//! Add example.
+<a href="#38" id="38">38</a></pre></div><pre class="rust"><code><span class="doccomment">//! Add example.
//!
//! Jit compile a function at runtime (generate native host code) which calls a function defined in
//! the example based on the SystemV abi to demonstrate the [`juicebox_asm`] crate.
diff --git a/src/bf_vm/bf_vm.rs.html b/src/bf_vm/bf_vm.rs.html
new file mode 100644
index 0000000..a62b04e
--- /dev/null
+++ b/src/bf_vm/bf_vm.rs.html
@@ -0,0 +1,585 @@
+<!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="Source of the Rust file `examples/bf_vm.rs`."><title>bf_vm.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="bf_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">bf_vm/</div>bf_vm.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
+<a href="#94" id="94">94</a>
+<a href="#95" id="95">95</a>
+<a href="#96" id="96">96</a>
+<a href="#97" id="97">97</a>
+<a href="#98" id="98">98</a>
+<a href="#99" id="99">99</a>
+<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
+<a href="#107" id="107">107</a>
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+<a href="#115" id="115">115</a>
+<a href="#116" id="116">116</a>
+<a href="#117" id="117">117</a>
+<a href="#118" id="118">118</a>
+<a href="#119" id="119">119</a>
+<a href="#120" id="120">120</a>
+<a href="#121" id="121">121</a>
+<a href="#122" id="122">122</a>
+<a href="#123" id="123">123</a>
+<a href="#124" id="124">124</a>
+<a href="#125" id="125">125</a>
+<a href="#126" id="126">126</a>
+<a href="#127" id="127">127</a>
+<a href="#128" id="128">128</a>
+<a href="#129" id="129">129</a>
+<a href="#130" id="130">130</a>
+<a href="#131" id="131">131</a>
+<a href="#132" id="132">132</a>
+<a href="#133" id="133">133</a>
+<a href="#134" id="134">134</a>
+<a href="#135" id="135">135</a>
+<a href="#136" id="136">136</a>
+<a href="#137" id="137">137</a>
+<a href="#138" id="138">138</a>
+<a href="#139" id="139">139</a>
+<a href="#140" id="140">140</a>
+<a href="#141" id="141">141</a>
+<a href="#142" id="142">142</a>
+<a href="#143" id="143">143</a>
+<a href="#144" id="144">144</a>
+<a href="#145" id="145">145</a>
+<a href="#146" id="146">146</a>
+<a href="#147" id="147">147</a>
+<a href="#148" id="148">148</a>
+<a href="#149" id="149">149</a>
+<a href="#150" id="150">150</a>
+<a href="#151" id="151">151</a>
+<a href="#152" id="152">152</a>
+<a href="#153" id="153">153</a>
+<a href="#154" id="154">154</a>
+<a href="#155" id="155">155</a>
+<a href="#156" id="156">156</a>
+<a href="#157" id="157">157</a>
+<a href="#158" id="158">158</a>
+<a href="#159" id="159">159</a>
+<a href="#160" id="160">160</a>
+<a href="#161" id="161">161</a>
+<a href="#162" id="162">162</a>
+<a href="#163" id="163">163</a>
+<a href="#164" id="164">164</a>
+<a href="#165" id="165">165</a>
+<a href="#166" id="166">166</a>
+<a href="#167" id="167">167</a>
+<a href="#168" id="168">168</a>
+<a href="#169" id="169">169</a>
+<a href="#170" id="170">170</a>
+<a href="#171" id="171">171</a>
+<a href="#172" id="172">172</a>
+<a href="#173" id="173">173</a>
+<a href="#174" id="174">174</a>
+<a href="#175" id="175">175</a>
+<a href="#176" id="176">176</a>
+<a href="#177" id="177">177</a>
+<a href="#178" id="178">178</a>
+<a href="#179" id="179">179</a>
+<a href="#180" id="180">180</a>
+<a href="#181" id="181">181</a>
+<a href="#182" id="182">182</a>
+<a href="#183" id="183">183</a>
+<a href="#184" id="184">184</a>
+<a href="#185" id="185">185</a>
+<a href="#186" id="186">186</a>
+<a href="#187" id="187">187</a>
+<a href="#188" id="188">188</a>
+<a href="#189" id="189">189</a>
+<a href="#190" id="190">190</a>
+<a href="#191" id="191">191</a>
+<a href="#192" id="192">192</a>
+<a href="#193" id="193">193</a>
+<a href="#194" id="194">194</a>
+<a href="#195" id="195">195</a>
+<a href="#196" id="196">196</a>
+<a href="#197" id="197">197</a>
+<a href="#198" id="198">198</a>
+<a href="#199" id="199">199</a>
+<a href="#200" id="200">200</a>
+<a href="#201" id="201">201</a>
+<a href="#202" id="202">202</a>
+<a href="#203" id="203">203</a>
+<a href="#204" id="204">204</a>
+<a href="#205" id="205">205</a>
+<a href="#206" id="206">206</a>
+<a href="#207" id="207">207</a>
+<a href="#208" id="208">208</a>
+<a href="#209" id="209">209</a>
+<a href="#210" id="210">210</a>
+<a href="#211" id="211">211</a>
+<a href="#212" id="212">212</a>
+<a href="#213" id="213">213</a>
+<a href="#214" id="214">214</a>
+<a href="#215" id="215">215</a>
+<a href="#216" id="216">216</a>
+<a href="#217" id="217">217</a>
+<a href="#218" id="218">218</a>
+<a href="#219" id="219">219</a>
+<a href="#220" id="220">220</a>
+<a href="#221" id="221">221</a>
+<a href="#222" id="222">222</a>
+<a href="#223" id="223">223</a>
+<a href="#224" id="224">224</a>
+<a href="#225" id="225">225</a>
+<a href="#226" id="226">226</a>
+<a href="#227" id="227">227</a>
+<a href="#228" id="228">228</a>
+<a href="#229" id="229">229</a>
+<a href="#230" id="230">230</a>
+<a href="#231" id="231">231</a>
+<a href="#232" id="232">232</a>
+<a href="#233" id="233">233</a>
+<a href="#234" id="234">234</a>
+<a href="#235" id="235">235</a>
+<a href="#236" id="236">236</a>
+<a href="#237" id="237">237</a>
+<a href="#238" id="238">238</a>
+<a href="#239" id="239">239</a>
+<a href="#240" id="240">240</a>
+<a href="#241" id="241">241</a>
+<a href="#242" id="242">242</a>
+<a href="#243" id="243">243</a>
+<a href="#244" id="244">244</a>
+<a href="#245" id="245">245</a>
+<a href="#246" id="246">246</a>
+<a href="#247" id="247">247</a>
+<a href="#248" id="248">248</a>
+<a href="#249" id="249">249</a>
+<a href="#250" id="250">250</a>
+<a href="#251" id="251">251</a>
+<a href="#252" id="252">252</a>
+<a href="#253" id="253">253</a>
+<a href="#254" id="254">254</a>
+<a href="#255" id="255">255</a>
+<a href="#256" id="256">256</a>
+<a href="#257" id="257">257</a>
+<a href="#258" id="258">258</a>
+<a href="#259" id="259">259</a>
+<a href="#260" id="260">260</a>
+<a href="#261" id="261">261</a>
+<a href="#262" id="262">262</a>
+<a href="#263" id="263">263</a>
+<a href="#264" id="264">264</a>
+<a href="#265" id="265">265</a>
+<a href="#266" id="266">266</a>
+<a href="#267" id="267">267</a>
+<a href="#268" id="268">268</a>
+<a href="#269" id="269">269</a>
+<a href="#270" id="270">270</a>
+<a href="#271" id="271">271</a>
+<a href="#272" id="272">272</a>
+<a href="#273" id="273">273</a>
+<a href="#274" id="274">274</a>
+<a href="#275" id="275">275</a>
+<a href="#276" id="276">276</a>
+<a href="#277" id="277">277</a>
+<a href="#278" id="278">278</a>
+<a href="#279" id="279">279</a>
+<a href="#280" id="280">280</a>
+<a href="#281" id="281">281</a>
+<a href="#282" id="282">282</a>
+<a href="#283" id="283">283</a>
+<a href="#284" id="284">284</a>
+<a href="#285" id="285">285</a>
+<a href="#286" id="286">286</a>
+<a href="#287" id="287">287</a>
+<a href="#288" id="288">288</a>
+<a href="#289" id="289">289</a>
+<a href="#290" id="290">290</a>
+<a href="#291" id="291">291</a>
+<a href="#292" id="292">292</a></pre></div><pre class="rust"><code><span class="doccomment">//! Brainfuck VM.
+//!
+//! This example implements a simple
+//! [brainfuck][https://en.wikipedia.org/wiki/Brainfuck] interpreter
+//! [`BrainfuckInterp`] and a jit compiler [`BrainfuckJit`].
+//!
+//! Brainfuck is an esoteric programming languge existing of 8 commands.
+//! - `&gt;` increment data pointer.
+//! - `&lt;` decrement data pointer.
+//! - `+` increment data at current data pointer.
+//! - `-` decrement data at current data pointer.
+//! - `.` output data at current data pointer.
+//! - `,` read input and store at current data pointer.
+//! - `[` jump behind matching ']' if data at data pointer is zero.
+//! - `]` jump behind matching '[' if data at data pointer is non-zero.
+
+</span><span class="kw">use </span>std::collections::HashMap;
+<span class="kw">use </span>std::io::Write;
+
+<span class="kw">use </span>juicebox_asm::insn::<span class="kw-2">*</span>;
+<span class="kw">use </span>juicebox_asm::Runtime;
+<span class="kw">use </span>juicebox_asm::{Asm, Imm64, Imm8, Label, MemOp, MemOp8, Reg64, Reg8};
+
+<span class="kw">struct </span>BrainfuckInterp {
+ pc: usize,
+ imem: Vec&lt;char&gt;,
+ dptr: usize,
+ dmem: [u8; <span class="number">256</span>],
+ branches: HashMap&lt;usize, usize&gt;,
+}
+
+<span class="kw">impl </span>BrainfuckInterp {
+ <span class="kw">fn </span>new(prog: <span class="kw-2">&amp;</span>str) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="self">Self</span>, String&gt; {
+ <span class="comment">// Do a first pass over the bf program to filter whitespace and detect invalid tokens.
+ // Additionally validate all conditional branches, and compute their branch target.
+ </span><span class="kw">let </span>(imem, branches) = {
+ <span class="comment">// Instruction memory holding the final bf program.
+ </span><span class="kw">let </span><span class="kw-2">mut </span>imem = Vec::new();
+ <span class="comment">// Helper to track index of open brackets.
+ </span><span class="kw">let </span><span class="kw-2">mut </span>lhs_brackets = Vec::new();
+ <span class="comment">// Mapping from branch instruction to branch target.
+ </span><span class="kw">let </span><span class="kw-2">mut </span>branches = HashMap::new();
+
+ <span class="kw">for </span>(idx, token) <span class="kw">in </span>prog.chars().filter(|c| !c.is_whitespace()).enumerate() {
+ <span class="kw">match </span>token {
+ <span class="string">'&lt;' </span>| <span class="string">'&gt;' </span>| <span class="string">'+' </span>| <span class="string">'-' </span>| <span class="string">'.' </span>| <span class="string">',' </span>=&gt; { <span class="comment">/* ignore valid bf tokens */ </span>}
+ <span class="string">'[' </span>=&gt; lhs_brackets.push(idx),
+ <span class="string">']' </span>=&gt; {
+ <span class="kw">if let </span><span class="prelude-val">Some</span>(lhs) = lhs_brackets.pop() {
+ branches.insert(lhs, idx);
+ branches.insert(idx, lhs);
+ } <span class="kw">else </span>{
+ <span class="kw">return </span><span class="prelude-val">Err</span>(<span class="macro">format!</span>(<span class="string">"encountered un-balanced brackets, found ']' at index {idx} without matching '['"</span>));
+ }
+ }
+ <span class="kw">_ </span>=&gt; <span class="kw">return </span><span class="prelude-val">Err</span>(<span class="macro">format!</span>(<span class="string">"invalid bf token '{token}'"</span>)),
+ }
+ imem.push(token)
+ }
+
+ <span class="kw">if </span>!lhs_brackets.is_empty() {
+ <span class="kw">return </span><span class="prelude-val">Err</span>(String::from(
+ <span class="string">"encountered un-balanced brackets, left-over '[' after parsing bf program"</span>,
+ ));
+ }
+
+ (imem, branches)
+ };
+
+ <span class="prelude-val">Ok</span>(BrainfuckInterp {
+ pc: <span class="number">0</span>,
+ imem,
+ dptr: <span class="number">0</span>,
+ dmem: [<span class="number">0</span>; <span class="number">256</span>],
+ branches,
+ })
+ }
+}
+
+<span class="kw">fn </span>run_interp(prog: <span class="kw-2">&amp;</span>str) {
+ <span class="kw">let </span><span class="kw-2">mut </span>vm = BrainfuckInterp::new(prog).unwrap();
+
+ <span class="kw">loop </span>{
+ <span class="kw">let </span>insn = <span class="kw">match </span>vm.imem.get(vm.pc) {
+ <span class="prelude-val">Some</span>(insn) =&gt; insn,
+ <span class="prelude-val">None </span>=&gt; <span class="kw">break</span>, <span class="comment">// End of bf program.
+ </span>};
+
+ <span class="kw">let </span>putchar = |val: u8| {
+ std::io::stdout()
+ .write(<span class="kw-2">&amp;</span>[val])
+ .expect(<span class="string">"Failed to write to stdout!"</span>);
+ };
+
+ <span class="kw">match </span>insn {
+ <span class="string">'&gt;' </span>=&gt; {
+ vm.dptr += <span class="number">1</span>;
+ <span class="macro">assert!</span>(vm.dptr &lt; vm.dmem.len());
+ }
+ <span class="string">'&lt;' </span>=&gt; {
+ <span class="macro">assert!</span>(vm.dptr &gt; <span class="number">0</span>);
+ vm.dptr -= <span class="number">1</span>;
+ }
+ <span class="string">'+' </span>=&gt; {
+ vm.dmem[vm.dptr] += <span class="number">1</span>;
+ }
+ <span class="string">'-' </span>=&gt; {
+ vm.dmem[vm.dptr] -= <span class="number">1</span>;
+ }
+ <span class="string">'.' </span>=&gt; {
+ putchar(vm.dmem[vm.dptr]);
+ }
+ <span class="string">',' </span>=&gt; {
+ <span class="macro">unimplemented!</span>(<span class="string">"getchar"</span>);
+ }
+ <span class="string">'[' </span>=&gt; {
+ <span class="kw">if </span>vm.dmem[vm.dptr] == <span class="number">0 </span>{
+ vm.pc = <span class="kw-2">*</span>vm.branches.get(<span class="kw-2">&amp;</span>vm.pc).unwrap();
+ }
+ }
+ <span class="string">']' </span>=&gt; {
+ <span class="kw">if </span>vm.dmem[vm.dptr] != <span class="number">0 </span>{
+ vm.pc = <span class="kw-2">*</span>vm.branches.get(<span class="kw-2">&amp;</span>vm.pc).unwrap();
+ }
+ }
+ <span class="kw">_ </span>=&gt; <span class="macro">unreachable!</span>(),
+ }
+
+ vm.pc += <span class="number">1</span>;
+ }
+}
+
+<span class="comment">// -- BRAINFUCK JIT --------------------------------------------------------------
+
+</span><span class="attr">#[cfg(not(any(target_arch = <span class="string">"x86_64"</span>, target_os = <span class="string">"linux"</span>)))]
+</span><span class="macro">compile_error!</span>(<span class="string">"Only supported on x86_64 with SystemV abi"</span>);
+
+<span class="kw">struct </span>BrainfuckJit {
+ imem: Vec&lt;char&gt;,
+ dmem: [u8; <span class="number">256</span>],
+}
+
+<span class="kw">impl </span>BrainfuckJit {
+ <span class="kw">fn </span>new(prog: <span class="kw-2">&amp;</span>str) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="self">Self</span>, String&gt; {
+ <span class="comment">// Do a first pass over the bf program to filter whitespace and detect invalid tokens.
+ </span><span class="kw">let </span>imem = prog
+ .chars()
+ .filter(|c| !c.is_whitespace())
+ .map(|c| <span class="kw">match </span>c {
+ <span class="string">'&lt;' </span>| <span class="string">'&gt;' </span>| <span class="string">'+' </span>| <span class="string">'-' </span>| <span class="string">'.' </span>| <span class="string">',' </span>| <span class="string">'[' </span>| <span class="string">']' </span>=&gt; <span class="prelude-val">Ok</span>(c),
+ <span class="kw">_ </span>=&gt; <span class="prelude-val">Err</span>(<span class="macro">format!</span>(<span class="string">"invalid bf token '{c}'"</span>)),
+ })
+ .collect::&lt;<span class="prelude-ty">Result</span>&lt;Vec&lt;char&gt;, String&gt;&gt;()<span class="question-mark">?</span>;
+
+ <span class="prelude-val">Ok</span>(BrainfuckJit {
+ imem,
+ dmem: [<span class="number">0</span>; <span class="number">256</span>],
+ })
+ }
+}
+
+<span class="kw">extern </span><span class="string">"C" </span><span class="kw">fn </span>putchar(c: u8) {
+ std::io::stdout()
+ .write(<span class="kw-2">&amp;</span>[c])
+ .expect(<span class="string">"Failed to write to stdout!"</span>);
+}
+
+<span class="kw">fn </span>run_jit(prog: <span class="kw-2">&amp;</span>str) {
+ <span class="kw">let </span><span class="kw-2">mut </span>vm = BrainfuckJit::new(prog).unwrap();
+
+ <span class="comment">// Use callee saved registers to hold vm state, such that we don't
+ // need to save any state before calling out to putchar.
+ </span><span class="kw">let </span>dmem_base = Reg64::rbx;
+ <span class="kw">let </span>dmem_idx = Reg64::r12;
+
+ <span class="kw">let </span><span class="kw-2">mut </span>asm = Asm::new();
+ <span class="comment">// Move data memory pointer (argument on jit entry) into correct
+ // register.
+ </span>asm.mov(dmem_base, Reg64::rdi);
+ <span class="comment">// Clear data memory index.
+ </span>asm.xor(dmem_idx, dmem_idx);
+
+ <span class="comment">// A stack of label pairs, used to link up forward and backward
+ // jumps for a given '[]' pair.
+ </span><span class="kw">let </span><span class="kw-2">mut </span>label_stack = Vec::new();
+
+ <span class="comment">// Generate code for each instruction in the bf program.
+ </span><span class="kw">for </span>insn <span class="kw">in </span>vm.imem {
+ <span class="kw">match </span>insn {
+ <span class="string">'&gt;' </span>=&gt; {
+ <span class="comment">// TODO: generate runtime bounds check.
+ </span>asm.inc(dmem_idx);
+ }
+ <span class="string">'&lt;' </span>=&gt; {
+ <span class="comment">// TODO: generate runtime bounds check.
+ </span>asm.dec(dmem_idx);
+ }
+ <span class="string">'+' </span>=&gt; {
+ asm.inc(MemOp8::from(MemOp::IndirectBaseIndex(dmem_base, dmem_idx)));
+ }
+ <span class="string">'-' </span>=&gt; {
+ asm.dec(MemOp8::from(MemOp::IndirectBaseIndex(dmem_base, dmem_idx)));
+ }
+ <span class="string">'.' </span>=&gt; {
+ <span class="comment">// Load data memory from active cell into di register,
+ // which is the first argument register according to
+ // the SystemV abi, then call into putchar. Since we
+ // stored all out vm state in callee saved registers
+ // we don't need to save any registers before the
+ // call.
+ </span>asm.mov(Reg8::dil, MemOp::IndirectBaseIndex(dmem_base, dmem_idx));
+ asm.mov(Reg64::rax, Imm64::from(putchar <span class="kw">as </span>usize));
+ asm.call(Reg64::rax);
+ }
+ <span class="string">',' </span>=&gt; {
+ <span class="macro">unimplemented!</span>(<span class="string">"getchar"</span>);
+ }
+ <span class="string">'[' </span>=&gt; {
+ <span class="comment">// Create new label pair.
+ </span>label_stack.push((Label::new(), Label::new()));
+ <span class="comment">// UNWRAP: We just pushed a new entry on the stack.
+ </span><span class="kw">let </span>label_pair = label_stack.last_mut().unwrap();
+
+ <span class="comment">// Goto label_pair.0 if data memory at active cell is 0.
+ // if vm.dmem[vm.dptr] == 0 goto label_pair.0
+ </span>asm.cmp(
+ MemOp::IndirectBaseIndex(dmem_base, dmem_idx),
+ Imm8::from(<span class="number">0u8</span>),
+ );
+ asm.jz(<span class="kw-2">&amp;mut </span>label_pair.<span class="number">0</span>);
+
+ <span class="comment">// Bind label_pair.1 after the jump instruction, which
+ // will be the branch target for the matching ']'.
+ </span>asm.bind(<span class="kw-2">&amp;mut </span>label_pair.<span class="number">1</span>);
+ }
+ <span class="string">']' </span>=&gt; {
+ <span class="kw">let </span><span class="kw-2">mut </span>label_pair = label_stack
+ .pop()
+ .expect(<span class="string">"encountered un-balanced brackets, found ']' without matching '['"</span>);
+
+ <span class="comment">// Goto label_pair.1 if data memory at active cell is
+ // not 0.
+ // if vm.dmem[vm.dptr] != 0 goto label_pair.1
+ </span>asm.cmp(
+ MemOp::IndirectBaseIndex(dmem_base, dmem_idx),
+ Imm8::from(<span class="number">0u8</span>),
+ );
+ asm.jnz(<span class="kw-2">&amp;mut </span>label_pair.<span class="number">1</span>);
+
+ <span class="comment">// Bind label_pair.0 after the jump instruction, which
+ // is the branch target for the matching '['.
+ </span>asm.bind(<span class="kw-2">&amp;mut </span>label_pair.<span class="number">0</span>);
+ }
+ <span class="kw">_ </span>=&gt; <span class="macro">unreachable!</span>(),
+ }
+ }
+
+ <span class="comment">// Return from bf program.
+ </span>asm.ret();
+
+ <span class="kw">if </span>!label_stack.is_empty() {
+ <span class="macro">panic!</span>(<span class="string">"encountered un-balanced brackets, left-over '[' after jitting bf program"</span>)
+ }
+
+ <span class="comment">// Execute jitted bf program.
+ </span><span class="kw">let </span><span class="kw-2">mut </span>rt = Runtime::new();
+ <span class="kw">let </span>bf_entry = <span class="kw">unsafe </span>{ rt.add_code::&lt;<span class="kw">extern </span><span class="string">"C" </span><span class="kw">fn</span>(<span class="kw-2">*mut </span>u8)&gt;(asm.into_code()) };
+ bf_entry(<span class="kw-2">&amp;mut </span>vm.dmem <span class="kw">as </span><span class="kw-2">*mut </span>u8);
+}
+
+<span class="kw">fn </span>main() {
+ <span class="comment">// https://en.wikipedia.org/wiki/Brainfuck#Adding_two_values
+ //let inp = "++&gt;+++++ [&lt;+&gt;-] ++++++++[&lt;++++++&gt;-]&lt;.";
+ //println!("add-print-7 (wikipedia.org) - interp");
+ //run_interp(inp);
+ //println!("add-print-7 (wikipedia.org) - jit");
+ //run_jit(inp);
+
+ // https://en.wikipedia.org/wiki/Brainfuck#Hello_World!
+ </span><span class="kw">let </span>inp = <span class="string">"++++++++[&gt;++++[&gt;++&gt;+++&gt;+++&gt;+&lt;&lt;&lt;&lt;-]&gt;+&gt;+&gt;-&gt;&gt;+[&lt;]&lt;-]&gt;&gt;.&gt;---.+++++++..+++.&gt;&gt;.&lt;-.&lt;.+++.------.--------.&gt;&gt;+.&gt;++."</span>;
+ <span class="macro">println!</span>(<span class="string">"hello-world (wikipedia.org) - interp"</span>);
+ run_interp(inp);
+ <span class="macro">println!</span>(<span class="string">"hello-world (wikipedia.org) - jit"</span>);
+ run_jit(inp);
+
+ <span class="comment">// https://programmingwiki.de/Brainfuck
+ </span><span class="kw">let </span>inp = <span class="string">"&gt;+++++++++[&lt;++++++++&gt;-]&lt;.&gt;+++++++[&lt;++++&gt;-]&lt;+.+++++++..+++.[-]&gt;++++++++[&lt;++++&gt;-] &lt;.&gt;+++++++++++[&lt;++++++++&gt;-]&lt;-.--------.+++.------.--------.[-]&gt;++++++++[&lt;++++&gt;- ]&lt;+.[-]++++++++++."</span>;
+ <span class="macro">println!</span>(<span class="string">"hello-world (programmingwiki.de) - interp"</span>);
+ run_interp(inp);
+ <span class="macro">println!</span>(<span class="string">"hello-world (programmingwiki.de) - jit"</span>);
+ run_jit(inp);
+}
+</code></pre></div></section></main></body></html> \ No newline at end of file
diff --git a/src/fib/fib.rs.html b/src/fib/fib.rs.html
index 7c8db91..0b7a4bf 100644
--- a/src/fib/fib.rs.html
+++ b/src/fib/fib.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `examples/fib.rs`."><title>fib.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="fib" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `examples/fib.rs`."><title>fib.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="fib" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">fib/</div>fib.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -77,8 +77,7 @@
<a href="#76" id="76">76</a>
<a href="#77" id="77">77</a>
<a href="#78" id="78">78</a>
-<a href="#79" id="79">79</a>
-</pre></div><pre class="rust"><code><span class="doccomment">//! Fibonacci example.
+<a href="#79" id="79">79</a></pre></div><pre class="rust"><code><span class="doccomment">//! Fibonacci example.
//!
//! Jit compile a function at runtime (generate native host code) to compute the fibonacci sequence
//! to demonstrate the [`juicebox_asm`] crate.
diff --git a/src/juicebox_asm/asm.rs.html b/src/juicebox_asm/asm.rs.html
index 4418397..3f24ae2 100644
--- a/src/juicebox_asm/asm.rs.html
+++ b/src/juicebox_asm/asm.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/asm.rs`."><title>asm.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/asm.rs`."><title>asm.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/</div>asm.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -344,7 +344,120 @@
<a href="#343" id="343">343</a>
<a href="#344" id="344">344</a>
<a href="#345" id="345">345</a>
-</pre></div><pre class="rust"><code><span class="doccomment">//! The `x64` jit assembler.
+<a href="#346" id="346">346</a>
+<a href="#347" id="347">347</a>
+<a href="#348" id="348">348</a>
+<a href="#349" id="349">349</a>
+<a href="#350" id="350">350</a>
+<a href="#351" id="351">351</a>
+<a href="#352" id="352">352</a>
+<a href="#353" id="353">353</a>
+<a href="#354" id="354">354</a>
+<a href="#355" id="355">355</a>
+<a href="#356" id="356">356</a>
+<a href="#357" id="357">357</a>
+<a href="#358" id="358">358</a>
+<a href="#359" id="359">359</a>
+<a href="#360" id="360">360</a>
+<a href="#361" id="361">361</a>
+<a href="#362" id="362">362</a>
+<a href="#363" id="363">363</a>
+<a href="#364" id="364">364</a>
+<a href="#365" id="365">365</a>
+<a href="#366" id="366">366</a>
+<a href="#367" id="367">367</a>
+<a href="#368" id="368">368</a>
+<a href="#369" id="369">369</a>
+<a href="#370" id="370">370</a>
+<a href="#371" id="371">371</a>
+<a href="#372" id="372">372</a>
+<a href="#373" id="373">373</a>
+<a href="#374" id="374">374</a>
+<a href="#375" id="375">375</a>
+<a href="#376" id="376">376</a>
+<a href="#377" id="377">377</a>
+<a href="#378" id="378">378</a>
+<a href="#379" id="379">379</a>
+<a href="#380" id="380">380</a>
+<a href="#381" id="381">381</a>
+<a href="#382" id="382">382</a>
+<a href="#383" id="383">383</a>
+<a href="#384" id="384">384</a>
+<a href="#385" id="385">385</a>
+<a href="#386" id="386">386</a>
+<a href="#387" id="387">387</a>
+<a href="#388" id="388">388</a>
+<a href="#389" id="389">389</a>
+<a href="#390" id="390">390</a>
+<a href="#391" id="391">391</a>
+<a href="#392" id="392">392</a>
+<a href="#393" id="393">393</a>
+<a href="#394" id="394">394</a>
+<a href="#395" id="395">395</a>
+<a href="#396" id="396">396</a>
+<a href="#397" id="397">397</a>
+<a href="#398" id="398">398</a>
+<a href="#399" id="399">399</a>
+<a href="#400" id="400">400</a>
+<a href="#401" id="401">401</a>
+<a href="#402" id="402">402</a>
+<a href="#403" id="403">403</a>
+<a href="#404" id="404">404</a>
+<a href="#405" id="405">405</a>
+<a href="#406" id="406">406</a>
+<a href="#407" id="407">407</a>
+<a href="#408" id="408">408</a>
+<a href="#409" id="409">409</a>
+<a href="#410" id="410">410</a>
+<a href="#411" id="411">411</a>
+<a href="#412" id="412">412</a>
+<a href="#413" id="413">413</a>
+<a href="#414" id="414">414</a>
+<a href="#415" id="415">415</a>
+<a href="#416" id="416">416</a>
+<a href="#417" id="417">417</a>
+<a href="#418" id="418">418</a>
+<a href="#419" id="419">419</a>
+<a href="#420" id="420">420</a>
+<a href="#421" id="421">421</a>
+<a href="#422" id="422">422</a>
+<a href="#423" id="423">423</a>
+<a href="#424" id="424">424</a>
+<a href="#425" id="425">425</a>
+<a href="#426" id="426">426</a>
+<a href="#427" id="427">427</a>
+<a href="#428" id="428">428</a>
+<a href="#429" id="429">429</a>
+<a href="#430" id="430">430</a>
+<a href="#431" id="431">431</a>
+<a href="#432" id="432">432</a>
+<a href="#433" id="433">433</a>
+<a href="#434" id="434">434</a>
+<a href="#435" id="435">435</a>
+<a href="#436" id="436">436</a>
+<a href="#437" id="437">437</a>
+<a href="#438" id="438">438</a>
+<a href="#439" id="439">439</a>
+<a href="#440" id="440">440</a>
+<a href="#441" id="441">441</a>
+<a href="#442" id="442">442</a>
+<a href="#443" id="443">443</a>
+<a href="#444" id="444">444</a>
+<a href="#445" id="445">445</a>
+<a href="#446" id="446">446</a>
+<a href="#447" id="447">447</a>
+<a href="#448" id="448">448</a>
+<a href="#449" id="449">449</a>
+<a href="#450" id="450">450</a>
+<a href="#451" id="451">451</a>
+<a href="#452" id="452">452</a>
+<a href="#453" id="453">453</a>
+<a href="#454" id="454">454</a>
+<a href="#455" id="455">455</a>
+<a href="#456" id="456">456</a>
+<a href="#457" id="457">457</a>
+<a href="#458" id="458">458</a>
+<a href="#459" id="459">459</a></pre></div><pre class="rust"><code><span class="doccomment">//! The `x64` jit assembler.
</span><span class="kw">use crate</span>::<span class="kw-2">*</span>;
<span class="kw">use </span>imm::Imm;
@@ -364,6 +477,11 @@
((mod_ &amp; <span class="number">0b11</span>) &lt;&lt; <span class="number">6</span>) | ((reg &amp; <span class="number">0b111</span>) &lt;&lt; <span class="number">3</span>) | (rm &amp; <span class="number">0b111</span>)
}
+<span class="doccomment">/// Encode the `SIB` byte.
+</span><span class="kw">const fn </span>sib(scale: u8, index: u8, base: u8) -&gt; u8 {
+ ((scale &amp; <span class="number">0b11</span>) &lt;&lt; <span class="number">6</span>) | ((index &amp; <span class="number">0b111</span>) &lt;&lt; <span class="number">3</span>) | (base &amp; <span class="number">0b111</span>)
+}
+
<span class="doccomment">/// `x64` jit assembler.
</span><span class="kw">pub struct </span>Asm {
buf: Vec&lt;u8&gt;,
@@ -495,6 +613,52 @@
<span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[opc, modrm]);
}
+ <span class="doccomment">/// Encode a memory operand instruction.
+ </span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>encode_m&lt;T: MemOpSized&gt;(<span class="kw-2">&amp;mut </span><span class="self">self</span>, opc: u8, opc_ext: u8, op1: T)
+ <span class="kw">where
+ </span><span class="self">Self</span>: EncodeM&lt;T&gt;,
+ {
+ <span class="kw">let </span>op1 = op1.mem_op();
+
+ <span class="comment">// M operand encoding.
+ // op1 -&gt; modrm.rm
+ </span><span class="kw">let </span>(mode, rm) = <span class="kw">match </span>op1 {
+ MemOp::Indirect(..) =&gt; {
+ <span class="macro">assert!</span>(!op1.base().need_sib() &amp;&amp; !op1.base().is_pc_rel());
+ (<span class="number">0b00</span>, op1.base().idx())
+ }
+ MemOp::IndirectDisp(..) =&gt; {
+ <span class="macro">assert!</span>(!op1.base().need_sib());
+ (<span class="number">0b10</span>, op1.base().idx())
+ }
+ MemOp::IndirectBaseIndex(..) =&gt; {
+ <span class="macro">assert!</span>(!op1.base().is_pc_rel());
+ <span class="comment">// Using rsp as index register is interpreted as just base w/o offset.
+ // https://wiki.osdev.org/X86-64_Instruction_Encoding#32.2F64-bit_addressing_2
+ // Disallow this case, as guard for the user.
+ </span><span class="macro">assert!</span>(!<span class="macro">matches!</span>(op1.index(), Reg64::rsp));
+ (<span class="number">0b00</span>, <span class="number">0b100</span>)
+ }
+ };
+
+ <span class="kw">let </span>modrm = modrm(
+ mode, <span class="comment">/* mode */
+ </span>opc_ext, <span class="comment">/* reg */
+ </span>rm, <span class="comment">/* rm */
+ </span>);
+
+ <span class="kw">let </span>prefix = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeM&lt;T&gt;&gt;::legacy_prefix();
+ <span class="kw">let </span>rex = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeM&lt;T&gt;&gt;::rex(<span class="kw-2">&amp;</span>op1);
+
+ <span class="self">self</span>.emit_optional(<span class="kw-2">&amp;</span>[prefix, rex]);
+ <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[opc, modrm]);
+ <span class="kw">match </span>op1 {
+ MemOp::Indirect(..) =&gt; {}
+ MemOp::IndirectDisp(<span class="kw">_</span>, disp) =&gt; <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>disp.to_ne_bytes()),
+ MemOp::IndirectBaseIndex(base, index) =&gt; <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[sib(<span class="number">0</span>, index.idx(), base.idx())]),
+ }
+ }
+
<span class="doccomment">/// Encode a memory-immediate instruction.
</span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>encode_mi&lt;T: Imm&gt;(<span class="kw-2">&amp;mut </span><span class="self">self</span>, opc: u8, opc_ext: u8, op1: MemOp, op2: T)
<span class="kw">where
@@ -503,21 +667,29 @@
<span class="comment">// MI operand encoding.
// op1 -&gt; modrm.rm
// op2 -&gt; imm
- </span><span class="kw">let </span>mode = <span class="kw">match </span>op1 {
+ </span><span class="kw">let </span>(mode, rm) = <span class="kw">match </span>op1 {
MemOp::Indirect(..) =&gt; {
<span class="macro">assert!</span>(!op1.base().need_sib() &amp;&amp; !op1.base().is_pc_rel());
- <span class="number">0b00
- </span>}
+ (<span class="number">0b00</span>, op1.base().idx())
+ }
MemOp::IndirectDisp(..) =&gt; {
<span class="macro">assert!</span>(!op1.base().need_sib());
- <span class="number">0b10
- </span>}
+ (<span class="number">0b10</span>, op1.base().idx())
+ }
+ MemOp::IndirectBaseIndex(..) =&gt; {
+ <span class="macro">assert!</span>(!op1.base().is_pc_rel());
+ <span class="comment">// Using rsp as index register is interpreted as just base w/o offset.
+ // https://wiki.osdev.org/X86-64_Instruction_Encoding#32.2F64-bit_addressing_2
+ // Disallow this case, as guard for the user.
+ </span><span class="macro">assert!</span>(!<span class="macro">matches!</span>(op1.index(), Reg64::rsp));
+ (<span class="number">0b00</span>, <span class="number">0b100</span>)
+ }
};
<span class="kw">let </span>modrm = modrm(
- mode, <span class="comment">/* mode */
- </span>opc_ext, <span class="comment">/* reg */
- </span>op1.base().idx(), <span class="comment">/* rm */
+ mode, <span class="comment">/* mode */
+ </span>opc_ext, <span class="comment">/* reg */
+ </span>rm, <span class="comment">/* rm */
</span>);
<span class="kw">let </span>prefix = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeMI&lt;T&gt;&gt;::legacy_prefix();
@@ -525,8 +697,10 @@
<span class="self">self</span>.emit_optional(<span class="kw-2">&amp;</span>[prefix, rex]);
<span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[opc, modrm]);
- <span class="kw">if let </span>MemOp::IndirectDisp(<span class="kw">_</span>, disp) = op1 {
- <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>disp.to_ne_bytes());
+ <span class="kw">match </span>op1 {
+ MemOp::Indirect(..) =&gt; {}
+ MemOp::IndirectDisp(<span class="kw">_</span>, disp) =&gt; <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>disp.to_ne_bytes()),
+ MemOp::IndirectBaseIndex(base, index) =&gt; <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[sib(<span class="number">0</span>, index.idx(), base.idx())]),
}
<span class="self">self</span>.emit(op2.bytes());
}
@@ -539,29 +713,40 @@
<span class="comment">// MR operand encoding.
// op1 -&gt; modrm.rm
// op2 -&gt; modrm.reg
- </span><span class="kw">let </span>mode = <span class="kw">match </span>op1 {
+ </span><span class="kw">let </span>(mode, rm) = <span class="kw">match </span>op1 {
MemOp::Indirect(..) =&gt; {
<span class="macro">assert!</span>(!op1.base().need_sib() &amp;&amp; !op1.base().is_pc_rel());
- <span class="number">0b00
- </span>}
+ (<span class="number">0b00</span>, op1.base().idx())
+ }
MemOp::IndirectDisp(..) =&gt; {
<span class="macro">assert!</span>(!op1.base().need_sib());
- <span class="number">0b10
- </span>}
+ (<span class="number">0b10</span>, op1.base().idx())
+ }
+ MemOp::IndirectBaseIndex(..) =&gt; {
+ <span class="macro">assert!</span>(!op1.base().is_pc_rel());
+ <span class="comment">// Using rsp as index register is interpreted as just base w/o offset.
+ // https://wiki.osdev.org/X86-64_Instruction_Encoding#32.2F64-bit_addressing_2
+ // Disallow this case, as guard for the user.
+ </span><span class="macro">assert!</span>(!<span class="macro">matches!</span>(op1.index(), Reg64::rsp));
+ (<span class="number">0b00</span>, <span class="number">0b100</span>)
+ }
};
<span class="kw">let </span>modrm = modrm(
- mode, <span class="comment">/* mode */
- </span>op2.idx(), <span class="comment">/* reg */
- </span>op1.base().idx(), <span class="comment">/* rm */
+ mode, <span class="comment">/* mode */
+ </span>op2.idx(), <span class="comment">/* reg */
+ </span>rm, <span class="comment">/* rm */
</span>);
+
<span class="kw">let </span>prefix = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeMR&lt;T&gt;&gt;::legacy_prefix();
<span class="kw">let </span>rex = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeMR&lt;T&gt;&gt;::rex(<span class="kw-2">&amp;</span>op1, op2);
<span class="self">self</span>.emit_optional(<span class="kw-2">&amp;</span>[prefix, rex]);
<span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[opc, modrm]);
- <span class="kw">if let </span>MemOp::IndirectDisp(<span class="kw">_</span>, disp) = op1 {
- <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>disp.to_ne_bytes());
+ <span class="kw">match </span>op1 {
+ MemOp::Indirect(..) =&gt; {}
+ MemOp::IndirectDisp(<span class="kw">_</span>, disp) =&gt; <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>disp.to_ne_bytes()),
+ MemOp::IndirectBaseIndex(base, index) =&gt; <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[sib(<span class="number">0</span>, index.idx(), base.idx())]),
}
}
@@ -650,8 +835,13 @@
</span>}
<span class="kw">fn </span>rex(op1: <span class="kw-2">&amp;</span>MemOp, op2: T) -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
- <span class="kw">if </span>op2.need_rex() || (op1.base().is_ext()) {
- <span class="prelude-val">Some</span>(rex(op2.rexw(), op2.idx(), <span class="number">0</span>, op1.base().idx()))
+ <span class="kw">if </span>op2.need_rex() || op1.base().is_ext() || op1.index().is_ext() {
+ <span class="prelude-val">Some</span>(rex(
+ op2.rexw(),
+ op2.idx(),
+ op1.index().idx(),
+ op1.base().idx(),
+ ))
} <span class="kw">else </span>{
<span class="prelude-val">None
</span>}
@@ -674,8 +864,8 @@
</span>}
<span class="kw">fn </span>rex(op1: <span class="kw-2">&amp;</span>MemOp) -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
- <span class="kw">if </span>op1.base().is_ext() {
- <span class="prelude-val">Some</span>(rex(<span class="bool-val">false</span>, <span class="number">0</span>, <span class="number">0</span>, op1.base().idx()))
+ <span class="kw">if </span>op1.base().is_ext() || op1.index().is_ext() {
+ <span class="prelude-val">Some</span>(rex(<span class="bool-val">false</span>, <span class="number">0</span>, op1.index().idx(), op1.base().idx()))
} <span class="kw">else </span>{
<span class="prelude-val">None
</span>}
@@ -689,4 +879,41 @@
}
}
<span class="kw">impl </span>EncodeMI&lt;Imm32&gt; <span class="kw">for </span>Asm {}
+
+<span class="doccomment">/// Encode helper for memory operand instructions.
+</span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">trait </span>EncodeM&lt;T: MemOpSized&gt; {
+ <span class="kw">fn </span>legacy_prefix() -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="prelude-val">None
+ </span>}
+
+ <span class="kw">fn </span>rex(op1: <span class="kw-2">&amp;</span>MemOp) -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="kw">if </span>op1.base().is_ext() || op1.index().is_ext() || <span class="self">Self</span>::is_64bit() {
+ <span class="prelude-val">Some</span>(rex(
+ <span class="self">Self</span>::is_64bit(),
+ <span class="number">0</span>,
+ op1.index().idx(),
+ op1.base().idx(),
+ ))
+ } <span class="kw">else </span>{
+ <span class="prelude-val">None
+ </span>}
+ }
+
+ <span class="kw">fn </span>is_64bit() -&gt; bool {
+ <span class="bool-val">false
+ </span>}
+}
+
+<span class="kw">impl </span>EncodeM&lt;MemOp8&gt; <span class="kw">for </span>Asm {}
+<span class="kw">impl </span>EncodeM&lt;MemOp16&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>legacy_prefix() -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="prelude-val">Some</span>(<span class="number">0x66</span>)
+ }
+}
+<span class="kw">impl </span>EncodeM&lt;MemOp32&gt; <span class="kw">for </span>Asm {}
+<span class="kw">impl </span>EncodeM&lt;MemOp64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>is_64bit() -&gt; bool {
+ <span class="bool-val">true
+ </span>}
+}
</code></pre></div></section></main></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/imm.rs.html b/src/juicebox_asm/imm.rs.html
index 306b800..5ddf841 100644
--- a/src/juicebox_asm/imm.rs.html
+++ b/src/juicebox_asm/imm.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/imm.rs`."><title>imm.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/imm.rs`."><title>imm.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/</div>imm.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -61,8 +61,7 @@
<a href="#60" id="60">60</a>
<a href="#61" id="61">61</a>
<a href="#62" id="62">62</a>
-<a href="#63" id="63">63</a>
-</pre></div><pre class="rust"><code><span class="doccomment">//! Definition of different immediate types which are used as input operands for various
+<a href="#63" id="63">63</a></pre></div><pre class="rust"><code><span class="doccomment">//! Definition of different immediate types which are used as input operands for various
//! instructions.
/// Trait to interact with immediate operands.
@@ -71,7 +70,7 @@
</span><span class="kw">fn </span>bytes(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>[u8];
}
-<span class="macro">macro_rules! </span>impl_imm {
+<span class="macro">macro_rules!</span> impl_imm {
(<span class="attr">#[<span class="macro-nonterminal">$doc</span>:meta] </span><span class="macro-nonterminal">$name</span>:ident, <span class="macro-nonterminal">$size</span>:expr, from: { $( <span class="macro-nonterminal">$from</span>:ty ),* $(,)<span class="question-mark">? </span>}) =&gt; {
<span class="attr">#[<span class="macro-nonterminal">$doc</span>]
</span><span class="kw">pub struct </span><span class="macro-nonterminal">$name</span>([u8; <span class="macro-nonterminal">$size</span>]);
diff --git a/src/juicebox_asm/insn.rs.html b/src/juicebox_asm/insn.rs.html
index 029258c..b82f83d 100644
--- a/src/juicebox_asm/insn.rs.html
+++ b/src/juicebox_asm/insn.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/insn.rs`."><title>insn.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn.rs`."><title>insn.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/</div>insn.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -102,7 +102,20 @@
<a href="#101" id="101">101</a>
<a href="#102" id="102">102</a>
<a href="#103" id="103">103</a>
-</pre></div><pre class="rust"><code><span class="doccomment">//! Trait definitions of various instructions.
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
+<a href="#107" id="107">107</a>
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+<a href="#115" id="115">115</a>
+<a href="#116" id="116">116</a>
+<a href="#117" id="117">117</a></pre></div><pre class="rust"><code><span class="doccomment">//! Trait definitions of various instructions.
</span><span class="kw">mod </span>add;
<span class="kw">mod </span>call;
@@ -110,6 +123,7 @@
<span class="kw">mod </span>cmovz;
<span class="kw">mod </span>cmp;
<span class="kw">mod </span>dec;
+<span class="kw">mod </span>inc;
<span class="kw">mod </span>jmp;
<span class="kw">mod </span>jnz;
<span class="kw">mod </span>jz;
@@ -119,6 +133,7 @@
<span class="kw">mod </span>push;
<span class="kw">mod </span>ret;
<span class="kw">mod </span>test;
+<span class="kw">mod </span>xor;
<span class="doccomment">/// Trait for [`add`](https://www.felixcloutier.com/x86/add) instruction kinds.
</span><span class="kw">pub trait </span>Add&lt;T, U&gt; {
@@ -161,6 +176,12 @@
</span><span class="kw">fn </span>dec(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: T);
}
+<span class="doccomment">/// Trait for [`inc`](https://www.felixcloutier.com/x86/inc) instruction kinds.
+</span><span class="kw">pub trait </span>Inc&lt;T&gt; {
+ <span class="doccomment">/// Emit a increment instruction.
+ </span><span class="kw">fn </span>inc(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: T);
+}
+
<span class="doccomment">/// Trait for [`jmp`](https://www.felixcloutier.com/x86/jmp) instruction kinds.
</span><span class="kw">pub trait </span>Jmp&lt;T&gt; {
<span class="doccomment">/// Emit an unconditional jump instruction.
@@ -205,4 +226,10 @@
/// `SF`, `ZF`, and `PF` status flags, the result is discarded.
</span><span class="kw">fn </span>test(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: T, op2: U);
}
+
+<span class="doccomment">/// Trait for [`xor`](https://www.felixcloutier.com/x86/xor) instruction kinds.
+</span><span class="kw">pub trait </span>Xor&lt;T, U&gt; {
+ <span class="doccomment">/// Emit a xor instruction.
+ </span><span class="kw">fn </span>xor(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: T, op2: U);
+}
</code></pre></div></section></main></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/add.rs.html b/src/juicebox_asm/insn/add.rs.html
index 6146498..e62bc4a 100644
--- a/src/juicebox_asm/insn/add.rs.html
+++ b/src/juicebox_asm/insn/add.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/insn/add.rs`."><title>add.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/add.rs`."><title>add.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>add.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -25,7 +25,18 @@
<a href="#24" id="24">24</a>
<a href="#25" id="25">25</a>
<a href="#26" id="26">26</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Add;
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Add;
<span class="kw">use crate</span>::{Asm, Imm16, MemOp, Reg16, Reg32, Reg64};
<span class="kw">impl </span>Add&lt;Reg64, Reg64&gt; <span class="kw">for </span>Asm {
@@ -40,6 +51,12 @@
}
}
+<span class="kw">impl </span>Add&lt;MemOp, Reg64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>add(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp, op2: Reg64) {
+ <span class="self">self</span>.encode_mr(<span class="number">0x01</span>, op1, op2);
+ }
+}
+
<span class="kw">impl </span>Add&lt;MemOp, Reg16&gt; <span class="kw">for </span>Asm {
<span class="kw">fn </span>add(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp, op2: Reg16) {
<span class="self">self</span>.encode_mr(<span class="number">0x01</span>, op1, op2);
@@ -51,4 +68,10 @@
<span class="self">self</span>.encode_mi(<span class="number">0x81</span>, <span class="number">0</span>, op1, op2);
}
}
+
+<span class="kw">impl </span>Add&lt;Reg64, MemOp&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>add(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg64, op2: MemOp) {
+ <span class="self">self</span>.encode_rm(<span class="number">0x03</span>, op1, op2);
+ }
+}
</code></pre></div></section></main></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/call.rs.html b/src/juicebox_asm/insn/call.rs.html
index 3a70194..5f8ed48 100644
--- a/src/juicebox_asm/insn/call.rs.html
+++ b/src/juicebox_asm/insn/call.rs.html
@@ -1,13 +1,12 @@
-<!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="Source of the Rust file `src/insn/call.rs`."><title>call.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/call.rs`."><title>call.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>call.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
-<a href="#8" id="8">8</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Call;
+<a href="#8" id="8">8</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Call;
<span class="kw">use crate</span>::{Asm, Reg64};
<span class="kw">impl </span>Call&lt;Reg64&gt; <span class="kw">for </span>Asm {
diff --git a/src/juicebox_asm/insn/cmovnz.rs.html b/src/juicebox_asm/insn/cmovnz.rs.html
index 29bfb58..4e23126 100644
--- a/src/juicebox_asm/insn/cmovnz.rs.html
+++ b/src/juicebox_asm/insn/cmovnz.rs.html
@@ -1,13 +1,12 @@
-<!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="Source of the Rust file `src/insn/cmovnz.rs`."><title>cmovnz.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/cmovnz.rs`."><title>cmovnz.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>cmovnz.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
-<a href="#8" id="8">8</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Cmovnz;
+<a href="#8" id="8">8</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Cmovnz;
<span class="kw">use crate</span>::{Asm, Reg64};
<span class="kw">impl </span>Cmovnz&lt;Reg64, Reg64&gt; <span class="kw">for </span>Asm {
diff --git a/src/juicebox_asm/insn/cmovz.rs.html b/src/juicebox_asm/insn/cmovz.rs.html
index ecb62f1..a51f237 100644
--- a/src/juicebox_asm/insn/cmovz.rs.html
+++ b/src/juicebox_asm/insn/cmovz.rs.html
@@ -1,13 +1,12 @@
-<!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="Source of the Rust file `src/insn/cmovz.rs`."><title>cmovz.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/cmovz.rs`."><title>cmovz.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>cmovz.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
-<a href="#8" id="8">8</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Cmovz;
+<a href="#8" id="8">8</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Cmovz;
<span class="kw">use crate</span>::{Asm, Reg64};
<span class="kw">impl </span>Cmovz&lt;Reg64, Reg64&gt; <span class="kw">for </span>Asm {
diff --git a/src/juicebox_asm/insn/cmp.rs.html b/src/juicebox_asm/insn/cmp.rs.html
index c8bcee2..a4e5447 100644
--- a/src/juicebox_asm/insn/cmp.rs.html
+++ b/src/juicebox_asm/insn/cmp.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/insn/cmp.rs`."><title>cmp.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/cmp.rs`."><title>cmp.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>cmp.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -7,8 +7,19 @@
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
<a href="#8" id="8">8</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Cmp;
-<span class="kw">use crate</span>::{Asm, Imm16, MemOp};
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Cmp;
+<span class="kw">use crate</span>::{Asm, Imm16, Imm8, MemOp};
+
+<span class="kw">impl </span>Cmp&lt;MemOp, Imm8&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>cmp(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp, op2: Imm8) {
+ <span class="self">self</span>.encode_mi(<span class="number">0x80</span>, <span class="number">0x7</span>, op1, op2);
+ }
+}
<span class="kw">impl </span>Cmp&lt;MemOp, Imm16&gt; <span class="kw">for </span>Asm {
<span class="kw">fn </span>cmp(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp, op2: Imm16) {
diff --git a/src/juicebox_asm/insn/dec.rs.html b/src/juicebox_asm/insn/dec.rs.html
index 1eed3b2..7a05154 100644
--- a/src/juicebox_asm/insn/dec.rs.html
+++ b/src/juicebox_asm/insn/dec.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/insn/dec.rs`."><title>dec.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/dec.rs`."><title>dec.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>dec.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -13,8 +13,31 @@
<a href="#12" id="12">12</a>
<a href="#13" id="13">13</a>
<a href="#14" id="14">14</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Dec;
-<span class="kw">use crate</span>::{Asm, Reg32, Reg64};
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Dec;
+<span class="kw">use crate</span>::{Asm, MemOp16, MemOp32, MemOp64, MemOp8, Reg32, Reg64};
<span class="kw">impl </span>Dec&lt;Reg64&gt; <span class="kw">for </span>Asm {
<span class="kw">fn </span>dec(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg64) {
@@ -27,4 +50,28 @@
<span class="self">self</span>.encode_r(<span class="number">0xff</span>, <span class="number">1</span>, op1);
}
}
+
+<span class="kw">impl </span>Dec&lt;MemOp8&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>dec(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp8) {
+ <span class="self">self</span>.encode_m(<span class="number">0xfe</span>, <span class="number">1</span>, op1);
+ }
+}
+
+<span class="kw">impl </span>Dec&lt;MemOp16&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>dec(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp16) {
+ <span class="self">self</span>.encode_m(<span class="number">0xff</span>, <span class="number">1</span>, op1);
+ }
+}
+
+<span class="kw">impl </span>Dec&lt;MemOp32&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>dec(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp32) {
+ <span class="self">self</span>.encode_m(<span class="number">0xff</span>, <span class="number">1</span>, op1);
+ }
+}
+
+<span class="kw">impl </span>Dec&lt;MemOp64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>dec(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp64) {
+ <span class="self">self</span>.encode_m(<span class="number">0xff</span>, <span class="number">1</span>, op1);
+ }
+}
</code></pre></div></section></main></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/inc.rs.html b/src/juicebox_asm/insn/inc.rs.html
new file mode 100644
index 0000000..05ce6bb
--- /dev/null
+++ b/src/juicebox_asm/insn/inc.rs.html
@@ -0,0 +1,77 @@
+<!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="Source of the Rust file `src/insn/inc.rs`."><title>inc.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>inc.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Inc;
+<span class="kw">use crate</span>::{Asm, MemOp16, MemOp32, MemOp64, MemOp8, Reg32, Reg64};
+
+<span class="kw">impl </span>Inc&lt;Reg64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>inc(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg64) {
+ <span class="self">self</span>.encode_r(<span class="number">0xff</span>, <span class="number">0</span>, op1);
+ }
+}
+
+<span class="kw">impl </span>Inc&lt;Reg32&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>inc(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg32) {
+ <span class="self">self</span>.encode_r(<span class="number">0xff</span>, <span class="number">0</span>, op1);
+ }
+}
+
+<span class="kw">impl </span>Inc&lt;MemOp8&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>inc(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp8) {
+ <span class="self">self</span>.encode_m(<span class="number">0xfe</span>, <span class="number">0</span>, op1);
+ }
+}
+
+<span class="kw">impl </span>Inc&lt;MemOp16&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>inc(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp16) {
+ <span class="self">self</span>.encode_m(<span class="number">0xff</span>, <span class="number">0</span>, op1);
+ }
+}
+
+<span class="kw">impl </span>Inc&lt;MemOp32&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>inc(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp32) {
+ <span class="self">self</span>.encode_m(<span class="number">0xff</span>, <span class="number">0</span>, op1);
+ }
+}
+
+<span class="kw">impl </span>Inc&lt;MemOp64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>inc(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp64) {
+ <span class="self">self</span>.encode_m(<span class="number">0xff</span>, <span class="number">0</span>, op1);
+ }
+}
+</code></pre></div></section></main></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/jmp.rs.html b/src/juicebox_asm/insn/jmp.rs.html
index 88f3066..75b3912 100644
--- a/src/juicebox_asm/insn/jmp.rs.html
+++ b/src/juicebox_asm/insn/jmp.rs.html
@@ -1,13 +1,12 @@
-<!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="Source of the Rust file `src/insn/jmp.rs`."><title>jmp.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/jmp.rs`."><title>jmp.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>jmp.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
-<a href="#8" id="8">8</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Jmp;
+<a href="#8" id="8">8</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Jmp;
<span class="kw">use crate</span>::{Asm, Label};
<span class="kw">impl </span>Jmp&lt;<span class="kw-2">&amp;mut </span>Label&gt; <span class="kw">for </span>Asm {
diff --git a/src/juicebox_asm/insn/jnz.rs.html b/src/juicebox_asm/insn/jnz.rs.html
index 40ae96c..14391d7 100644
--- a/src/juicebox_asm/insn/jnz.rs.html
+++ b/src/juicebox_asm/insn/jnz.rs.html
@@ -1,13 +1,12 @@
-<!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="Source of the Rust file `src/insn/jnz.rs`."><title>jnz.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/jnz.rs`."><title>jnz.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>jnz.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
-<a href="#8" id="8">8</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Jnz;
+<a href="#8" id="8">8</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Jnz;
<span class="kw">use crate</span>::{Asm, Label};
<span class="kw">impl </span>Jnz&lt;<span class="kw-2">&amp;mut </span>Label&gt; <span class="kw">for </span>Asm {
diff --git a/src/juicebox_asm/insn/jz.rs.html b/src/juicebox_asm/insn/jz.rs.html
index 9a44a21..074c065 100644
--- a/src/juicebox_asm/insn/jz.rs.html
+++ b/src/juicebox_asm/insn/jz.rs.html
@@ -1,13 +1,12 @@
-<!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="Source of the Rust file `src/insn/jz.rs`."><title>jz.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/jz.rs`."><title>jz.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>jz.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
-<a href="#8" id="8">8</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Jz;
+<a href="#8" id="8">8</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Jz;
<span class="kw">use crate</span>::{Asm, Label};
<span class="kw">impl </span>Jz&lt;<span class="kw-2">&amp;mut </span>Label&gt; <span class="kw">for </span>Asm {
diff --git a/src/juicebox_asm/insn/mov.rs.html b/src/juicebox_asm/insn/mov.rs.html
index 8f10e31..5bd4111 100644
--- a/src/juicebox_asm/insn/mov.rs.html
+++ b/src/juicebox_asm/insn/mov.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/insn/mov.rs`."><title>mov.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/mov.rs`."><title>mov.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>mov.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -112,8 +112,7 @@
<a href="#111" id="111">111</a>
<a href="#112" id="112">112</a>
<a href="#113" id="113">113</a>
-<a href="#114" id="114">114</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Mov;
+<a href="#114" id="114">114</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Mov;
<span class="kw">use crate</span>::{Asm, Imm16, Imm32, Imm64, Imm8, MemOp, Reg16, Reg32, Reg64, Reg8};
<span class="comment">// -- MOV : reg reg
diff --git a/src/juicebox_asm/insn/nop.rs.html b/src/juicebox_asm/insn/nop.rs.html
index 34afd35..ec71515 100644
--- a/src/juicebox_asm/insn/nop.rs.html
+++ b/src/juicebox_asm/insn/nop.rs.html
@@ -1,13 +1,12 @@
-<!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="Source of the Rust file `src/insn/nop.rs`."><title>nop.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/nop.rs`."><title>nop.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>nop.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
-<a href="#8" id="8">8</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::Asm;
+<a href="#8" id="8">8</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::Asm;
<span class="kw">impl </span>Asm {
<span class="doccomment">/// Emit a [`nop`](https://www.felixcloutier.com/x86/nop) instruction.
diff --git a/src/juicebox_asm/insn/pop.rs.html b/src/juicebox_asm/insn/pop.rs.html
index 0852511..5b06e59 100644
--- a/src/juicebox_asm/insn/pop.rs.html
+++ b/src/juicebox_asm/insn/pop.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/insn/pop.rs`."><title>pop.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/pop.rs`."><title>pop.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>pop.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -12,8 +12,7 @@
<a href="#11" id="11">11</a>
<a href="#12" id="12">12</a>
<a href="#13" id="13">13</a>
-<a href="#14" id="14">14</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Pop;
+<a href="#14" id="14">14</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Pop;
<span class="kw">use crate</span>::{Asm, Reg16, Reg64};
<span class="kw">impl </span>Pop&lt;Reg64&gt; <span class="kw">for </span>Asm {
diff --git a/src/juicebox_asm/insn/push.rs.html b/src/juicebox_asm/insn/push.rs.html
index e947e8b..636c6f6 100644
--- a/src/juicebox_asm/insn/push.rs.html
+++ b/src/juicebox_asm/insn/push.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/insn/push.rs`."><title>push.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/push.rs`."><title>push.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>push.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -12,8 +12,7 @@
<a href="#11" id="11">11</a>
<a href="#12" id="12">12</a>
<a href="#13" id="13">13</a>
-<a href="#14" id="14">14</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Push;
+<a href="#14" id="14">14</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Push;
<span class="kw">use crate</span>::{Asm, Reg16, Reg64};
<span class="kw">impl </span>Push&lt;Reg64&gt; <span class="kw">for </span>Asm {
diff --git a/src/juicebox_asm/insn/ret.rs.html b/src/juicebox_asm/insn/ret.rs.html
index bc88856..b26e883 100644
--- a/src/juicebox_asm/insn/ret.rs.html
+++ b/src/juicebox_asm/insn/ret.rs.html
@@ -1,13 +1,12 @@
-<!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="Source of the Rust file `src/insn/ret.rs`."><title>ret.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/ret.rs`."><title>ret.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>ret.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
-<a href="#8" id="8">8</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::Asm;
+<a href="#8" id="8">8</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::Asm;
<span class="kw">impl </span>Asm {
<span class="doccomment">/// Emit a [`ret`](https://www.felixcloutier.com/x86/ret) instruction.
diff --git a/src/juicebox_asm/insn/test.rs.html b/src/juicebox_asm/insn/test.rs.html
index 53a4e39..4c9bd7d 100644
--- a/src/juicebox_asm/insn/test.rs.html
+++ b/src/juicebox_asm/insn/test.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/insn/test.rs`."><title>test.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/insn/test.rs`."><title>test.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>test.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -18,8 +18,7 @@
<a href="#17" id="17">17</a>
<a href="#18" id="18">18</a>
<a href="#19" id="19">19</a>
-<a href="#20" id="20">20</a>
-</pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Test;
+<a href="#20" id="20">20</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Test;
<span class="kw">use crate</span>::{Asm, Imm16, MemOp, Reg32, Reg64};
<span class="kw">impl </span>Test&lt;Reg64, Reg64&gt; <span class="kw">for </span>Asm {
diff --git a/src/juicebox_asm/insn/xor.rs.html b/src/juicebox_asm/insn/xor.rs.html
new file mode 100644
index 0000000..2bd3dc8
--- /dev/null
+++ b/src/juicebox_asm/insn/xor.rs.html
@@ -0,0 +1,17 @@
+<!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="Source of the Rust file `src/insn/xor.rs`."><title>xor.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/insn/</div>xor.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a></pre></div><pre class="rust"><code><span class="kw">use </span><span class="kw">super</span>::Xor;
+<span class="kw">use crate</span>::{Asm, Reg64};
+
+<span class="kw">impl </span>Xor&lt;Reg64, Reg64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>xor(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg64, op2: Reg64) {
+ <span class="self">self</span>.encode_rr(<span class="kw-2">&amp;</span>[<span class="number">0x31</span>], op1, op2);
+ }
+}
+</code></pre></div></section></main></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/label.rs.html b/src/juicebox_asm/label.rs.html
index d986d64..d46d49a 100644
--- a/src/juicebox_asm/label.rs.html
+++ b/src/juicebox_asm/label.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/label.rs`."><title>label.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/label.rs`."><title>label.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/</div>label.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -81,8 +81,7 @@
<a href="#80" id="80">80</a>
<a href="#81" id="81">81</a>
<a href="#82" id="82">82</a>
-<a href="#83" id="83">83</a>
-</pre></div><pre class="rust"><code><span class="doccomment">//! Definition of the lable type which can be used as jump target and can be bound to a location in
+<a href="#83" id="83">83</a></pre></div><pre class="rust"><code><span class="doccomment">//! Definition of the lable type which can be used as jump target and can be bound to a location in
//! the emitted code.
</span><span class="kw">use </span>std::collections::HashSet;
diff --git a/src/juicebox_asm/lib.rs.html b/src/juicebox_asm/lib.rs.html
index d7d33f1..2b9ed8a 100644
--- a/src/juicebox_asm/lib.rs.html
+++ b/src/juicebox_asm/lib.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/lib.rs`."><title>lib.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/lib.rs`."><title>lib.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/</div>lib.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -106,7 +106,63 @@
<a href="#105" id="105">105</a>
<a href="#106" id="106">106</a>
<a href="#107" id="107">107</a>
-</pre></div><pre class="rust"><code><span class="doccomment">//! A simple `x64` jit assembler with a minimal runtime to execute emitted code for fun.
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+<a href="#115" id="115">115</a>
+<a href="#116" id="116">116</a>
+<a href="#117" id="117">117</a>
+<a href="#118" id="118">118</a>
+<a href="#119" id="119">119</a>
+<a href="#120" id="120">120</a>
+<a href="#121" id="121">121</a>
+<a href="#122" id="122">122</a>
+<a href="#123" id="123">123</a>
+<a href="#124" id="124">124</a>
+<a href="#125" id="125">125</a>
+<a href="#126" id="126">126</a>
+<a href="#127" id="127">127</a>
+<a href="#128" id="128">128</a>
+<a href="#129" id="129">129</a>
+<a href="#130" id="130">130</a>
+<a href="#131" id="131">131</a>
+<a href="#132" id="132">132</a>
+<a href="#133" id="133">133</a>
+<a href="#134" id="134">134</a>
+<a href="#135" id="135">135</a>
+<a href="#136" id="136">136</a>
+<a href="#137" id="137">137</a>
+<a href="#138" id="138">138</a>
+<a href="#139" id="139">139</a>
+<a href="#140" id="140">140</a>
+<a href="#141" id="141">141</a>
+<a href="#142" id="142">142</a>
+<a href="#143" id="143">143</a>
+<a href="#144" id="144">144</a>
+<a href="#145" id="145">145</a>
+<a href="#146" id="146">146</a>
+<a href="#147" id="147">147</a>
+<a href="#148" id="148">148</a>
+<a href="#149" id="149">149</a>
+<a href="#150" id="150">150</a>
+<a href="#151" id="151">151</a>
+<a href="#152" id="152">152</a>
+<a href="#153" id="153">153</a>
+<a href="#154" id="154">154</a>
+<a href="#155" id="155">155</a>
+<a href="#156" id="156">156</a>
+<a href="#157" id="157">157</a>
+<a href="#158" id="158">158</a>
+<a href="#159" id="159">159</a>
+<a href="#160" id="160">160</a>
+<a href="#161" id="161">161</a>
+<a href="#162" id="162">162</a>
+<a href="#163" id="163">163</a>
+<a href="#164" id="164">164</a></pre></div><pre class="rust"><code><span class="doccomment">//! A simple `x64` jit assembler with a minimal runtime to execute emitted code for fun.
//!
//! The following is an fibonacci example implementation.
//! ```rust
@@ -196,12 +252,16 @@
<span class="kw">pub use </span>rt::Runtime;
<span class="doccomment">/// Type representing a memory operand.
+</span><span class="attr">#[derive(Clone, Copy)]
</span><span class="kw">pub enum </span>MemOp {
<span class="doccomment">/// An indirect memory operand, eg `mov [rax], rcx`.
</span>Indirect(Reg64),
<span class="doccomment">/// An indirect memory operand with additional displacement, eg `mov [rax + 0x10], rcx`.
</span>IndirectDisp(Reg64, i32),
+
+ <span class="doccomment">/// An indirect memory operand in the form base + index, eg `mov [rax + rcx], rdx`.
+ </span>IndirectBaseIndex(Reg64, Reg64),
}
<span class="kw">impl </span>MemOp {
@@ -210,7 +270,60 @@
<span class="kw">match </span><span class="self">self </span>{
MemOp::Indirect(base) =&gt; <span class="kw-2">*</span>base,
MemOp::IndirectDisp(base, ..) =&gt; <span class="kw-2">*</span>base,
+ MemOp::IndirectBaseIndex(base, ..) =&gt; <span class="kw-2">*</span>base,
+ }
+ }
+
+ <span class="doccomment">/// Get the index register of the memory operand.
+ </span><span class="kw">fn </span>index(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; Reg64 {
+ <span class="comment">// Return zero index register for memory operands w/o index register.
+ </span><span class="kw">let </span>zero_index = Reg64::rax;
+ <span class="kw">use </span>reg::Reg;
+ <span class="macro">assert_eq!</span>(zero_index.idx(), <span class="number">0</span>);
+
+ <span class="kw">match </span><span class="self">self </span>{
+ MemOp::Indirect(..) =&gt; zero_index,
+ MemOp::IndirectDisp(..) =&gt; zero_index,
+ MemOp::IndirectBaseIndex(.., index) =&gt; <span class="kw-2">*</span>index,
}
}
}
+
+<span class="doccomment">/// Trait to give size hints for memory operands.
+</span><span class="kw">trait </span>MemOpSized {
+ <span class="kw">fn </span>mem_op(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; MemOp;
+}
+
+<span class="macro">macro_rules!</span> impl_memop_sized {
+ ($(<span class="attr">#[<span class="macro-nonterminal">$doc</span>:meta] </span><span class="macro-nonterminal">$name</span>:ident)+) =&gt; {
+ $(
+ <span class="attr">#[<span class="macro-nonterminal">$doc</span>]
+ </span><span class="kw">pub struct </span><span class="macro-nonterminal">$name</span>(MemOp);
+
+ <span class="kw">impl </span><span class="macro-nonterminal">$name </span>{
+ <span class="doccomment">/// Create a memory with size hint from a raw memory operand.
+ </span><span class="kw">pub fn </span>from(op: MemOp) -&gt; <span class="self">Self </span>{
+ <span class="self">Self</span>(op)
+ }
+ }
+
+ <span class="kw">impl </span>MemOpSized <span class="kw">for </span><span class="macro-nonterminal">$name </span>{
+ <span class="kw">fn </span>mem_op(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; MemOp {
+ <span class="self">self</span>.<span class="number">0
+ </span>}
+ }
+ )+
+ };
+}
+
+<span class="macro">impl_memop_sized!</span>(
+ <span class="doccomment">/// A memory operand with a word (8 bit) size hint.
+ </span>MemOp8
+ <span class="doccomment">/// A memory operand with a word (16 bit) size hint.
+ </span>MemOp16
+ <span class="doccomment">/// A memory operand with a dword (32 bit) size hint.
+ </span>MemOp32
+ <span class="doccomment">/// A memory operand with a qword (64 bit) size hint.
+ </span>MemOp64
+);
</code></pre></div></section></main></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/reg.rs.html b/src/juicebox_asm/reg.rs.html
index f0612f6..edbf390 100644
--- a/src/juicebox_asm/reg.rs.html
+++ b/src/juicebox_asm/reg.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/reg.rs`."><title>reg.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/reg.rs`."><title>reg.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/</div>reg.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -302,8 +302,7 @@
<a href="#301" id="301">301</a>
<a href="#302" id="302">302</a>
<a href="#303" id="303">303</a>
-<a href="#304" id="304">304</a>
-</pre></div><pre class="rust"><code><span class="doccomment">//! Definition of registers which are used as input operands for various instructions.
+<a href="#304" id="304">304</a></pre></div><pre class="rust"><code><span class="doccomment">//! Definition of registers which are used as input operands for various instructions.
/// Trait to interact with register operands.
</span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">trait </span>Reg {
@@ -342,7 +341,7 @@
</span>}
}
-<span class="macro">macro_rules! </span>enum_reg {
+<span class="macro">macro_rules!</span> enum_reg {
(<span class="attr">#[<span class="macro-nonterminal">$doc</span>:meta] </span><span class="macro-nonterminal">$name</span>:ident, { $(<span class="macro-nonterminal">$reg</span>:ident),+ $(,)<span class="question-mark">? </span>}) =&gt; {
<span class="attr">#[<span class="macro-nonterminal">$doc</span>]
#[allow(non_camel_case_types)]
@@ -362,7 +361,7 @@
};
}
-<span class="macro">macro_rules! </span>impl_reg {
+<span class="macro">macro_rules!</span> impl_reg {
(<span class="attr">#[<span class="macro-nonterminal">$doc</span>:meta] </span><span class="macro-nonterminal">$name</span>:ident, <span class="macro-nonterminal">$rexw</span>:expr, { $(<span class="macro-nonterminal">$reg</span>:ident),+ $(,)<span class="question-mark">? </span>}) =&gt; {
<span class="macro">enum_reg!</span>(<span class="attr">#[<span class="macro-nonterminal">$doc</span>] </span><span class="macro-nonterminal">$name</span>, { $( <span class="macro-nonterminal">$reg</span>, )+ });
diff --git a/src/juicebox_asm/rt.rs.html b/src/juicebox_asm/rt.rs.html
index eecdd6f..039fa77 100644
--- a/src/juicebox_asm/rt.rs.html
+++ b/src/juicebox_asm/rt.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `src/rt.rs`."><title>rt.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `src/rt.rs`."><title>rt.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">juicebox_asm/</div>rt.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -267,8 +267,7 @@
<a href="#266" id="266">266</a>
<a href="#267" id="267">267</a>
<a href="#268" id="268">268</a>
-<a href="#269" id="269">269</a>
-</pre></div><pre class="rust"><code><span class="doccomment">//! Simple `mmap`ed runtime.
+<a href="#269" id="269">269</a></pre></div><pre class="rust"><code><span class="doccomment">//! Simple `mmap`ed runtime.
//!
//! This runtime supports adding code to executable pages and turn the added code into user
//! specified function pointer.
diff --git a/src/tiny_vm/tiny_vm.rs.html b/src/tiny_vm/tiny_vm.rs.html
index e8937f6..13c5a44 100644
--- a/src/tiny_vm/tiny_vm.rs.html
+++ b/src/tiny_vm/tiny_vm.rs.html
@@ -1,5 +1,5 @@
-<!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="Source of the Rust file `examples/tiny_vm.rs`."><title>tiny_vm.rs - source</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-39ed315d46fb705f.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><div class="sidebar-resizer"></div>
- <main><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" tabindex="-1"><a href="../../help.html" title="help">?</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="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<!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="Source of the Rust file `examples/tiny_vm.rs`."><title>tiny_vm.rs - source</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-0111fcff984fae8f.css"></noscript><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 src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title"><h2>Files</h2></div></nav><div class="sidebar-resizer"></div><main><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1><div class="sub-heading">tiny_vm/</div>tiny_vm.rs</h1><rustdoc-toolbar></rustdoc-toolbar></div><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers">
+<a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
@@ -703,8 +703,7 @@
<a href="#702" id="702">702</a>
<a href="#703" id="703">703</a>
<a href="#704" id="704">704</a>
-<a href="#705" id="705">705</a>
-</pre></div><pre class="rust"><code><span class="doccomment">//! TinyVm example.
+<a href="#705" id="705">705</a></pre></div><pre class="rust"><code><span class="doccomment">//! TinyVm example.
//!
//! This example introduces a simple 16 bit virtual machine the [`TinyVm`]. The VM consists of
//! three registers defined in [`TinyReg`], a separate _data_ and _instruction_ memory and a small
diff --git a/static.files/clipboard-7571035ce49a181d.svg b/static.files/clipboard-7571035ce49a181d.svg
deleted file mode 100644
index 8adbd99..0000000
--- a/static.files/clipboard-7571035ce49a181d.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="24" height="25" viewBox="0 0 24 25" xmlns="http://www.w3.org/2000/svg" aria-label="Copy to clipboard"><path d="M18 20h2v3c0 1-1 2-2 2H2c-.998 0-2-1-2-2V5c0-.911.755-1.667 1.667-1.667h5A3.323 3.323 0 0110 0a3.323 3.323 0 013.333 3.333h5C19.245 3.333 20 4.09 20 5v8.333h-2V9H2v14h16v-3zM3 7h14c0-.911-.793-1.667-1.75-1.667H13.5c-.957 0-1.75-.755-1.75-1.666C11.75 2.755 10.957 2 10 2s-1.75.755-1.75 1.667c0 .911-.793 1.666-1.75 1.666H4.75C3.793 5.333 3 6.09 3 7z"/><path d="M4 19h6v2H4zM12 11H4v2h8zM4 17h4v-2H4zM15 15v-3l-4.5 4.5L15 21v-3l8.027-.032L23 15z"/></svg>
diff --git a/static.files/favicon-16x16-8b506e7a72182f1c.png b/static.files/favicon-16x16-8b506e7a72182f1c.png
deleted file mode 100644
index ea4b45c..0000000
--- a/static.files/favicon-16x16-8b506e7a72182f1c.png
+++ /dev/null
Binary files differ
diff --git a/static.files/main-305769736d49e732.js b/static.files/main-305769736d49e732.js
deleted file mode 100644
index b8b91af..0000000
--- a/static.files/main-305769736d49e732.js
+++ /dev/null
@@ -1,11 +0,0 @@
-"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function blurHandler(event,parentElem,hideCallback){if(!parentElem.contains(document.activeElement)&&!parentElem.contains(event.relatedTarget)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerText=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url){const script=document.createElement("script");script.src=url;document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"));loadScript(resourcePath("search-index",".js"))}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="<h3 class=\"search-loading\">"+searchState.loadingText+"</h3>";searchState.showResults(search)},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElem=document.getElementById(implId);if(implElem&&implElem.parentElement.tagName==="SUMMARY"&&implElem.parentElement.parentElement.tagName==="DETAILS"){onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/([^-]+)-([0-9]+)/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0)}})}}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`<a href="${modpath}index.html#${id}">${longty}</a>`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("opaque","opaque-types","Opaque Types");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","));for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aI<bI?-1:aI>bI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i<count;++i){elems.push(i+1)}const node=document.createElement("pre");addClass(node,"example-line-numbers");node.innerHTML=elems.join("\n");parent.insertBefore(node,x)})};window.rustdoc_remove_line_numbers_from_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&&notable_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="<div class=\"content\">"+window.NOTABLE_TRAITS[notable_ty]+"</div>"}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px")}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \
-<a href="https://doc.rust-lang.org/${channel}/rustdoc/">the rustdoc book</a>.`;const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["&#9166;","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"<dt>"+x[0].split(" ").map((y,index)=>((index&1)===0?"<kbd>"+y+"</kbd>":" "+y+" ")).join("")+"</dt><dd>"+x[1]+"</dd>").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="<h2>Keyboard Shortcuts</h2><dl>"+shortcuts+"</dl></div>";const infos=[`For a full list of all search features, take a look <a \
-href="https://doc.rust-lang.org/${channel}/rustdoc/read-documentation/search.html">here</a>.`,"Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to \
- restrict the search to a given item kind.","Accepted kinds are: <code>fn</code>, <code>mod</code>, <code>struct</code>, \
- <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, \
- and <code>const</code>.","Search functions by type signature (e.g., <code>vec -&gt; usize</code> or \
- <code>-&gt; vec</code> or <code>String, enum:Cow -&gt; bool</code>)","You can look for items with an exact name by putting double quotes around \
- your request: <code>\"string\"</code>","Look for functions that accept or return \
- <a href=\"https://doc.rust-lang.org/std/primitive.slice.html\">slices</a> and \
- <a href=\"https://doc.rust-lang.org/std/primitive.array.html\">arrays</a> by writing \
- square brackets (e.g., <code>-&gt; [u8]</code> or <code>[] -&gt; Option</code>)","Look for items inside another one by searching for a path: <code>vec::Vec</code>",].map(x=>"<p>"+x+"</p>").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="<h2>Search Tricks</h2>"+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-sidebar.offsetLeft-3;if(pos<SIDEBAR_VANISH_THRESHOLD){hideSidebar()}else if(pos>=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px")},100)}}window.addEventListener("resize",()=>{if(window.innerWidth<RUSTDOC_MOBILE_BREAKPOINT){return}stopResize();if(desiredSidebarSize>=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file
diff --git a/static.files/main-f070b9041d14864c.js b/static.files/main-f070b9041d14864c.js
new file mode 100644
index 0000000..3d672cb
--- /dev/null
+++ b/static.files/main-f070b9041d14864c.js
@@ -0,0 +1,11 @@
+"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden");const toggle=document.getElementById("toggle-all-docs");if(toggle){toggle.setAttribute("disabled","disabled")}}function showMain(){const main=document.getElementById(MAIN_ID);removeClass(main,"hidden");const mainHeading=main.querySelector(".main-heading");if(mainHeading&&searchState.rustdocToolbar){if(searchState.rustdocToolbar.parentElement){searchState.rustdocToolbar.parentElement.removeChild(searchState.rustdocToolbar)}mainHeading.appendChild(searchState.rustdocToolbar)}const toggle=document.getElementById("toggle-all-docs");if(toggle){toggle.removeAttribute("disabled")}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerHTML=`Crate <a href="#">${window.currentCrate}</a>`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden");const mainHeading=elemToDisplay.querySelector(".main-heading");if(mainHeading&&searchState.rustdocToolbar){if(searchState.rustdocToolbar.parentElement){searchState.rustdocToolbar.parentElement.removeChild(searchState.rustdocToolbar)}mainHeading.appendChild(searchState.rustdocToolbar)}}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url,errorCallback){const script=document.createElement("script");script.src=url;if(errorCallback!==undefined){script.onerror=errorCallback}document.head.append(script)}if(getSettingsButton()){getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)}}window.searchState={rustdocToolbar:document.querySelector("rustdoc-toolbar"),loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=").map(x=>x.replace(/\+/g," "));params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function sendSearchForm(){document.getElementsByClassName("search-form")[0].submit()}function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"),sendSearchForm);loadScript(resourcePath("search-index",".js"),sendSearchForm)}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="<h3 class=\"search-loading\">"+searchState.loadingText+"</h3>";searchState.showResults(search)},descShards:new Map(),loadDesc:async function({descShard,descIndex}){if(descShard.promise===null){descShard.promise=new Promise((resolve,reject)=>{descShard.resolve=resolve;const ds=descShard;const fname=`${ds.crate}-desc-${ds.shard}-`;const url=resourcePath(`search.desc/${descShard.crate}/${fname}`,".js",);loadScript(url,reject)})}const list=await descShard.promise;return list[descIndex]},loadedDescShard:function(crate,shard,data){this.descShards.get(crate)[shard].resolve(data.split("\n"))},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElems=document.querySelectorAll(`details > summary > section[id^="${implId}"]`,);onEachLazy(implElems,implElem=>{const numbered=/^(.+?)-([0-9]+)$/.exec(implElem.id);if(implElem.id!==implId&&(!numbered||numbered[1]!==implId)){return false}return onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/^(.+?)-([0-9]+)$/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0);return true}},)})}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":case"/":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementById("rustdoc-modnav");function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`<a href="${modpath}index.html#${id}">${longty}</a>`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;link.textContent=name;const li=document.createElement("li");if(link.href===current_page){li.classList.add("current")}li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","),);for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aI<bI?-1:aI>bI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementById("rustdoc-modnav");if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.children[0].innerText="Summary"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.children[0].innerText="Show all"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{if(document.querySelector(".rustdoc.src")){return}onEachLazy(document.querySelectorAll(":not(.scraped-example) > .example-wrap > pre:not(.example-line-numbers)",),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i<count;++i){elems.push(i+1)}const node=document.createElement("pre");addClass(node,"example-line-numbers");node.innerHTML=elems.join("\n");parent.insertBefore(node,x)})};window.rustdoc_remove_line_numbers_from_examples=()=>{onEachLazy(document.querySelectorAll(".example-wrap > .example-line-numbers"),x=>{x.parentNode.removeChild(x)})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&&notable_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="<div class=\"content\">"+window.NOTABLE_TRAITS[notable_ty]+"</div>"}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";document.body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px",)}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}document.body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){if(!getHelpButton().contains(document.activeElement)&&!getHelpButton().contains(event.relatedTarget)&&!getSettingsButton().contains(document.activeElement)&&!getSettingsButton().contains(event.relatedTarget)){window.hidePopoverMenus()}}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \
+<a href="https://doc.rust-lang.org/${channel}/rustdoc/">the rustdoc book</a>.`;const shortcuts=[["?","Show this help dialog"],["S / /","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["&#9166;","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"<dt>"+x[0].split(" ").map((y,index)=>((index&1)===0?"<kbd>"+y+"</kbd>":" "+y+" ")).join("")+"</dt><dd>"+x[1]+"</dd>").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="<h2>Keyboard Shortcuts</h2><dl>"+shortcuts+"</dl></div>";const infos=[`For a full list of all search features, take a look <a \
+href="https://doc.rust-lang.org/${channel}/rustdoc/read-documentation/search.html">here</a>.`,"Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to \
+ restrict the search to a given item kind.","Accepted kinds are: <code>fn</code>, <code>mod</code>, <code>struct</code>, \
+ <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, \
+ and <code>const</code>.","Search functions by type signature (e.g., <code>vec -&gt; usize</code> or \
+ <code>-&gt; vec</code> or <code>String, enum:Cow -&gt; bool</code>)","You can look for items with an exact name by putting double quotes around \
+ your request: <code>\"string\"</code>","Look for functions that accept or return \
+ <a href=\"https://doc.rust-lang.org/std/primitive.slice.html\">slices</a> and \
+ <a href=\"https://doc.rust-lang.org/std/primitive.array.html\">arrays</a> by writing \
+ square brackets (e.g., <code>-&gt; [u8]</code> or <code>[] -&gt; Option</code>)","Look for items inside another one by searching for a path: <code>vec::Vec</code>",].map(x=>"<p>"+x+"</p>").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="<h2>Search Tricks</h2>"+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll("rustdoc-toolbar .popover"),elem=>{elem.style.display="none"});const button=getHelpButton();if(button){removeClass(button,"help-open")}};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){const button=getHelpButton();addClass(button,"help-open");button.querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}const helpLink=document.querySelector(`#${HELP_BUTTON_ID} > a`);if(isHelpPage){buildHelpMenu()}else if(helpLink){helpLink.addEventListener("click",event=>{if(!helpLink.contains(helpLink)||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");if(document.querySelector(".rustdoc.src")){window.rustdocToggleSrcSidebar()}e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-3;if(pos<SIDEBAR_VANISH_THRESHOLD){hideSidebar()}else if(pos>=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px",)},100)}}window.addEventListener("resize",()=>{if(window.innerWidth<RUSTDOC_MOBILE_BREAKPOINT){return}stopResize();if(desiredSidebarSize>=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}window.hideAllModals(false);e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){function copyContentToClipboard(content){const el=document.createElement("textarea");el.value=content;el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el)}function copyButtonAnimation(button){button.classList.add("clicked");if(button.reset_button_timeout!==undefined){window.clearTimeout(button.reset_button_timeout)}button.reset_button_timeout=window.setTimeout(()=>{button.reset_button_timeout=undefined;button.classList.remove("clicked")},1000)}const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const title=document.querySelector("title").textContent.replace(" - Rust","");const[item,module]=title.split(" in ");const path=[item];if(module!==undefined){path.unshift(module)}copyContentToClipboard(path.join("::"));copyButtonAnimation(but)};function copyCode(codeElem){if(!codeElem){return}copyContentToClipboard(codeElem.textContent)}function getExampleWrap(event){let elem=event.target;while(!hasClass(elem,"example-wrap")){if(elem===document.body||elem.tagName==="A"||elem.tagName==="BUTTON"||hasClass(elem,"docblock")){return null}elem=elem.parentElement}return elem}function addCopyButton(event){const elem=getExampleWrap(event);if(elem===null){return}elem.removeEventListener("mouseover",addCopyButton);const parent=document.createElement("div");parent.className="button-holder";const runButton=elem.querySelector(".test-arrow");if(runButton!==null){parent.appendChild(runButton)}elem.appendChild(parent);const copyButton=document.createElement("button");copyButton.className="copy-button";copyButton.title="Copy code to clipboard";copyButton.addEventListener("click",()=>{copyCode(elem.querySelector("pre > code"));copyButtonAnimation(copyButton)});parent.appendChild(copyButton);if(!elem.parentElement.classList.contains("scraped-example")){return}const scrapedWrapped=elem.parentElement;window.updateScrapedExample(scrapedWrapped,parent)}function showHideCodeExampleButtons(event){const elem=getExampleWrap(event);if(elem===null){return}let buttons=elem.querySelector(".button-holder");if(buttons===null){addCopyButton(event);buttons=elem.querySelector(".button-holder");if(buttons===null){return}}buttons.classList.toggle("keep-visible")}onEachLazy(document.querySelectorAll(".docblock .example-wrap"),elem=>{elem.addEventListener("mouseover",addCopyButton);elem.addEventListener("click",showHideCodeExampleButtons)})}()) \ No newline at end of file
diff --git a/static.files/noscript-0111fcff984fae8f.css b/static.files/noscript-0111fcff984fae8f.css
new file mode 100644
index 0000000..a6c18ec
--- /dev/null
+++ b/static.files/noscript-0111fcff984fae8f.css
@@ -0,0 +1 @@
+ #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none !important;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root,:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#595959;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root,:root:not([data-theme]){--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#a5a5a5;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(65%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}} \ No newline at end of file
diff --git a/static.files/noscript-feafe1bb7466e4bd.css b/static.files/noscript-feafe1bb7466e4bd.css
deleted file mode 100644
index 7bbe07f..0000000
--- a/static.files/noscript-feafe1bb7466e4bd.css
+++ /dev/null
@@ -1 +0,0 @@
- #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}} \ No newline at end of file
diff --git a/static.files/rustdoc-ac92e1bbe349e143.css b/static.files/rustdoc-ac92e1bbe349e143.css
deleted file mode 100644
index 27e3d9d..0000000
--- a/static.files/rustdoc-ac92e1bbe349e143.css
+++ /dev/null
@@ -1,18 +0,0 @@
- :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;--desktop-sidebar-width:200px;--src-sidebar-width:300px;--desktop-sidebar-z-index:100;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-018c141bf0843ffd.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-8f9a781e4970d388.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-46f98efaafac5295.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;flex-grow:1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{display:flex;flex-wrap:wrap;padding-bottom:6px;margin-bottom:15px;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h1,h2{line-height:1.25;padding-top:3px;padding-bottom:9px;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;white-space:pre-wrap;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-name>a,.out-of-band,span.since,a.src,#help-button>a,summary.hideme,.scraped-example-list,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.section-header a,#src-sidebar a,.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.stab,.result-name i{color:var(--main-color);}span.enum,a.enum,span.struct,a.struct,span.union,a.union,span.primitive,a.primitive,span.type,a.type,span.foreigntype,a.foreigntype{color:var(--type-link-color);}span.trait,a.trait,span.traitalias,a.traitalias{color:var(--trait-link-color);}span.associatedtype,a.associatedtype,span.constant,a.constant,span.static,a.static{color:var(--assoc-item-link-color);}span.fn,a.fn,span.method,a.method,span.tymethod,a.tymethod{color:var(--function-link-color);}span.attr,a.attr,span.derive,a.derive,span.macro,a.macro{color:var(--macro-link-color);}span.mod,a.mod{color:var(--mod-link-color);}span.keyword,a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p,.docblock>.warning{margin:0 0 .75em 0;}p:last-child,.docblock>.warning:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.src main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;line-height:1.5;}pre.item-decl{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.src .content pre{padding:20px;}.rustdoc.src .example-wrap pre.src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.sub-logo-container,.logo-container{line-height:0;display:block;}.sub-logo-container{margin-right:32px;}.sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 var(--desktop-sidebar-width);width:var(--desktop-sidebar-width);overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;z-index:var(--desktop-sidebar-z-index);}.rustdoc.src .sidebar{flex-basis:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.hide-sidebar .sidebar,.hide-sidebar .sidebar-resizer{display:none;}.sidebar-resizer{touch-action:none;width:9px;cursor:col-resize;z-index:calc(var(--desktop-sidebar-z-index) + 1);position:fixed;height:100%;left:calc(var(--desktop-sidebar-width) + 1px);}.rustdoc.src .sidebar-resizer{left:49px;}.src-sidebar-expanded .rustdoc.src .sidebar-resizer{left:var(--src-sidebar-width);}.sidebar-resizing{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.sidebar-resizing*{cursor:col-resize !important;}.sidebar-resizing .sidebar{position:fixed;}.sidebar-resizing>body{padding-left:var(--resizing-sidebar-width);}.sidebar-resizer:hover,.sidebar-resizer:active,.sidebar-resizer:focus,.sidebar-resizer.active{width:10px;margin:0;left:var(--desktop-sidebar-width);border-left:solid 1px var(--sidebar-resizer-hover);}.src-sidebar-expanded .rustdoc.src .sidebar-resizer:hover,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:active,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:focus,.src-sidebar-expanded .rustdoc.src .sidebar-resizer.active{left:calc(var(--src-sidebar-width) - 1px);}@media (pointer:coarse){.sidebar-resizer{display:none !important;}}.sidebar-resizer.active{padding:0 140px;width:2px;margin-left:-140px;border-left:none;}.sidebar-resizer.active:before{border-left:solid 2px var(--sidebar-resizer-active);display:block;height:100%;content:"";}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}#src-sidebar-toggle>button:hover,#src-sidebar-toggle>button:focus{background-color:var(--sidebar-background-color-hover);}.src .sidebar>*:not(#src-sidebar-toggle){visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:var(--src-sidebar-width);width:var(--src-sidebar-width);}.src-sidebar-expanded .src .sidebar>*:not(#src-sidebar-toggle){visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.logo-container>img{height:48px;width:48px;}ul.block,.block li{padding:0;margin:0;list-style:none;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-left:-0.25rem;margin-right:0.25rem;}.sidebar h2{overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>.version,.sidebar>h2{padding-left:24px;}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar .current a,.sidebar-crate a.logo-container:hover+h2 a,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.sidebar-crate{display:flex;align-items:center;justify-content:center;margin:14px 32px 1rem;row-gap:10px;column-gap:32px;flex-wrap:wrap;}.sidebar-crate h2{flex-grow:1;margin:0 -8px;align-self:start;}.sidebar-crate .logo-container{margin:0 -16px 0 -16px;text-align:center;}.sidebar-crate h2 a{display:block;margin:0 calc(-24px + 0.25rem) 0 -0.5rem;padding:calc((16px - 0.57rem ) / 2 ) 0.25rem;padding-left:0.5rem;}.sidebar-crate h2 .version{display:block;font-weight:normal;font-size:1rem;overflow-wrap:break-word;margin-top:calc((-16px + 0.57rem ) / 2 );}.sidebar-crate+.version{margin-top:-1rem;margin-bottom:1rem;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap pre{margin:0;flex-grow:1;}.rustdoc:not(.src) .example-wrap pre{overflow:auto hidden;}.rustdoc .example-wrap pre.example-line-numbers,.rustdoc .example-wrap pre.src-line-numbers{flex-grow:0;min-width:fit-content;overflow:initial;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;color:var(--src-line-numbers-span-color);}.rustdoc .example-wrap pre.src-line-numbers{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.docblock-short code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.out-of-band{flex-grow:0;font-size:1.125rem;}.docblock code,.docblock-short code,pre,.rustdoc.src .example-wrap{background-color:var(--code-block-background-color);}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}div.where{white-space:pre-wrap;font-size:0.875rem;}.item-info{display:block;margin-left:24px;}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 25px 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;}.src nav.sub{margin:0 0 15px 0;}.section-header{display:block;position:relative;}.section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.section-header>.anchor{left:-15px;padding-right:8px;}h2.section-header>.anchor{padding-right:6px;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.docblock-short a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block li.current a{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;padding:0;margin:0;}.item-table>li{display:table-row;}.item-table>li>div{display:table-cell;}.item-table>li>.item-name{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}#crate-search-div{position:relative;min-width:5em;}#crate-search{min-width:115px;padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" \
- width="128" height="128" viewBox="-30 -20 176 176"><path d="M111,40.5L64,87.499L17,40.5" \
- fill="none" stroke="black" strike-linecap="square" stroke-miterlimit="10" stroke-width="12"/> \
- </svg>');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:2;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;flex:3;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40">\
- <path d="M7,25L17,32L33,12" fill="none" stroke="black" stroke-width="5"/>\
- <path d="M7,23L17,30L33,10" fill="none" stroke="white" stroke-width="5"/></svg>');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar-toggle{position:sticky;top:0;left:0;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:stretch;align-items:stretch;z-index:10;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:6px;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}#src-sidebar-toggle>button{font-size:inherit;font-weight:bold;background:none;color:inherit;text-align:center;border:none;outline:none;flex:1 1;-webkit-appearance:none;opacity:1;}#settings-menu,#help-button{margin-left:4px;display:flex;}#sidebar-button{display:none;}.hide-sidebar #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}#settings-menu>a,#help-button>a,#sidebar-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus,#sidebar-button>a:hover,#sidebar-button>a:focus{border-color:var(--settings-button-border-focus);}#sidebar-button>a:before{content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" \
- fill="none" stroke="black">\
- <rect x="1" y="1" width="20" height="20" ry="1.5" stroke-width="1.5"/>\
- <circle cx="4.375" cy="4.375" r="1" stroke-width=".75"/>\
- <path d="m7.6121 3v16 M5.375 7.625h-2 m2 3h-2 m2 3h-2" stroke-width="1.25"/></svg>');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;width:33px;}#copy-path>img{filter:var(--copy-path-img-filter);}#copy-path:hover>img{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,<svg width="17" height="17" \
-shape-rendering="crispEdges" stroke="black" fill="none" xmlns="http://www.w3.org/2000/svg"><path \
-d="M5 2.5H2.5v12H5m7-12h2.5v12H12M5 8.5h7M8.5 12V8.625v0V5"/></svg>') no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,<svg width="17" height="17" \
-shape-rendering="crispEdges" stroke="black" fill="none" xmlns="http://www.w3.org/2000/svg"><path \
-d="M5 2.5H2.5v12H5m7-12h2.5v12H12M5 8.5h7"/></svg>') no-repeat top left;}details.toggle[open] >summary::after{content:"Collapse";}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}@media (max-width:850px){#search-tabs .count{display:block;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.hide-sidebar #sidebar-button{position:static;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.main-heading{flex-direction:column;}.out-of-band{text-align:left;margin-left:initial;padding:initial;}.out-of-band .since::before{content:"Since ";}.sidebar .logo-container,.sidebar .location,.sidebar-resizer{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;}.mobile-topbar h2 a{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.hide-sidebar .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;color:var(--main-color);}.hide-sidebar .sidebar-menu-toggle{display:none;}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#src-sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;border:1px solid;border-left:0;}.src-sidebar-expanded #src-sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;position:sticky;border:0;border-bottom:1px solid;}#copy-path,#help-button{display:none;}#sidebar-button>a:before{content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" \
- viewBox="0 0 22 22" fill="none" stroke="black">\
- <rect x="1" y="1" width="20" height="20" ry="1.5" stroke-width="1.5"/>\
- <circle cx="4.375" cy="4.375" r="1" stroke-width=".75"/>\
- <path d="m3 7.375h16m0-3h-4" stroke-width="1.25"/></svg>');width:22px;height:22px;}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{max-width:100vw;width:100vw;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}.sub-logo-container>img{height:35px;width:35px;margin-bottom:var(--nav-sub-mobile-padding);}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"]{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a,:root[data-theme="ayu"] #source-sidebar>.title{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);} \ No newline at end of file
diff --git a/static.files/rustdoc-b0742ba02757f159.css b/static.files/rustdoc-b0742ba02757f159.css
new file mode 100644
index 0000000..9fef311
--- /dev/null
+++ b/static.files/rustdoc-b0742ba02757f159.css
@@ -0,0 +1,53 @@
+ :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;--desktop-sidebar-width:200px;--src-sidebar-width:300px;--desktop-sidebar-z-index:100;--sidebar-elems-left-padding:24px;--clipboard-image:url('data:image/svg+xml,<svg width="19" height="18" viewBox="0 0 24 25" \
+xmlns="http://www.w3.org/2000/svg" aria-label="Copy to clipboard">\
+<path d="M18 20h2v3c0 1-1 2-2 2H2c-.998 0-2-1-2-2V5c0-.911.755-1.667 1.667-1.667h5A3.323 3.323 0 \
+0110 0a3.323 3.323 0 013.333 3.333h5C19.245 3.333 20 4.09 20 5v8.333h-2V9H2v14h16v-3zM3 \
+7h14c0-.911-.793-1.667-1.75-1.667H13.5c-.957 0-1.75-.755-1.75-1.666C11.75 2.755 10.957 2 10 \
+2s-1.75.755-1.75 1.667c0 .911-.793 1.666-1.75 1.666H4.75C3.793 5.333 3 6.09 3 7z"/>\
+<path d="M4 19h6v2H4zM12 11H4v2h8zM4 17h4v-2H4zM15 15v-3l-4.5 4.5L15 21v-3l8.027-.032L23 15z"/>\
+</svg>');--copy-path-height:34px;--copy-path-width:33px;--checkmark-image:url('data:image/svg+xml,<svg viewBox="-1 -1 23 23" \
+xmlns="http://www.w3.org/2000/svg" fill="black" height="18px">\
+<g><path d="M9 19.414l-6.707-6.707 1.414-1.414L9 16.586 20.293 5.293l1.414 1.414"></path>\
+</g></svg>');--button-left-margin:4px;--button-border-radius:2px;--toolbar-button-border-radius:6px;--code-block-border-radius:6px;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-018c141bf0843ffd.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-8f9a781e4970d388.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-46f98efaafac5295.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;grid-area:main-heading-h1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{position:relative;display:grid;grid-template-areas:"main-heading-breadcrumbs main-heading-breadcrumbs" "main-heading-h1 main-heading-toolbar" "main-heading-sub-heading main-heading-toolbar";grid-template-columns:minmax(105px,1fr) minmax(0,max-content);grid-template-rows:minmax(25px,min-content) min-content min-content;padding-bottom:6px;margin-bottom:11px;}.rustdoc-breadcrumbs{grid-area:main-heading-breadcrumbs;line-height:1.25;display:flex;flex-wrap:wrap;align-items:end;padding-top:5px;}.rustdoc-breadcrumbs a{padding:4px 0;margin:-4px 0;z-index:1;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h1,h2{line-height:1.25;padding-top:3px;padding-bottom:9px;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;white-space:pre-wrap;}.structfield{margin:0.6em 0;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-name>a,.out-of-band,.sub-heading,span.since,a.src,rustdoc-toolbar,summary.hideme,.scraped-example-list,.rustdoc-breadcrumbs,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.section-header a,#src-sidebar a,.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.stab,.result-name i{color:var(--main-color);}span.enum,a.enum,span.struct,a.struct,span.union,a.union,span.primitive,a.primitive,span.type,a.type,span.foreigntype,a.foreigntype{color:var(--type-link-color);}span.trait,a.trait,span.traitalias,a.traitalias{color:var(--trait-link-color);}span.associatedtype,a.associatedtype,span.constant,a.constant,span.static,a.static{color:var(--assoc-item-link-color);}span.fn,a.fn,span.method,a.method,span.tymethod,a.tymethod{color:var(--function-link-color);}span.attr,a.attr,span.derive,a.derive,span.macro,a.macro{color:var(--macro-link-color);}span.mod,a.mod{color:var(--mod-link-color);}span.keyword,a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p,.docblock>.warning{margin:0 0 .75em 0;}p:last-child,.docblock>.warning:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.src main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.toggle) summary{margin-bottom:.6em;}code,pre,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;line-height:1.5;}pre.item-decl{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.src .content pre{padding:20px;}.rustdoc.src .example-wrap .src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.logo-container{line-height:0;display:block;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 var(--desktop-sidebar-width);width:var(--desktop-sidebar-width);overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;z-index:var(--desktop-sidebar-z-index);}.rustdoc.src .sidebar{flex-basis:50px;width:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.hide-sidebar .sidebar,.hide-sidebar .sidebar-resizer{display:none;}.sidebar-resizer{touch-action:none;width:9px;cursor:col-resize;z-index:calc(var(--desktop-sidebar-z-index) + 1);position:fixed;height:100%;left:calc(var(--desktop-sidebar-width) + 1px);}.rustdoc.src .sidebar-resizer{left:49px;}.src-sidebar-expanded .src .sidebar-resizer{left:var(--src-sidebar-width);}.sidebar-resizing{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.sidebar-resizing*{cursor:col-resize !important;}.sidebar-resizing .sidebar{position:fixed;}.sidebar-resizing>body{padding-left:var(--resizing-sidebar-width);}.sidebar-resizer:hover,.sidebar-resizer:active,.sidebar-resizer:focus,.sidebar-resizer.active{width:10px;margin:0;left:var(--desktop-sidebar-width);border-left:solid 1px var(--sidebar-resizer-hover);}.src-sidebar-expanded .rustdoc.src .sidebar-resizer:hover,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:active,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:focus,.src-sidebar-expanded .rustdoc.src .sidebar-resizer.active{left:calc(var(--src-sidebar-width) - 1px);}@media (pointer:coarse){.sidebar-resizer{display:none !important;}}.sidebar-resizer.active{padding:0 140px;width:2px;margin-left:-140px;border-left:none;}.sidebar-resizer.active:before{border-left:solid 2px var(--sidebar-resizer-active);display:block;height:100%;content:"";}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}.src .sidebar>*{visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:var(--src-sidebar-width);width:var(--src-sidebar-width);}.src-sidebar-expanded .src .sidebar>*{visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.logo-container>img{height:48px;width:48px;}ul.block,.block li,.block ul{padding:0;margin:0;list-style:none;}.block ul a{padding-left:1rem;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-right:0.25rem;border-left:solid var(--sidebar-elems-left-padding) transparent;margin-left:calc(-0.25rem - var(--sidebar-elems-left-padding));background-clip:border-box;}.hide-toc #rustdoc-toc,.hide-toc .in-crate{display:none;}.hide-modnav #rustdoc-modnav{display:none;}.sidebar h2{text-wrap:balance;overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{text-wrap:balance;overflow-wrap:anywhere;font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>.version,.sidebar>h2{padding-left:var(--sidebar-elems-left-padding);}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar .current a,.sidebar-crate a.logo-container:hover+h2 a,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.sidebar-crate{display:flex;align-items:center;justify-content:center;margin:14px 32px 1rem;row-gap:10px;column-gap:32px;flex-wrap:wrap;}.sidebar-crate h2{flex-grow:1;margin:0 -8px;align-self:start;}.sidebar-crate .logo-container{margin:0 calc(-16px - var(--sidebar-elems-left-padding));padding:0 var(--sidebar-elems-left-padding);text-align:center;}.sidebar-crate .logo-container img{margin-top:-16px;border-top:solid 16px transparent;box-sizing:content-box;position:relative;background-clip:border-box;z-index:1;}.sidebar-crate h2 a{display:block;border-left:solid var(--sidebar-elems-left-padding) transparent;background-clip:border-box;margin:0 calc(-24px + 0.25rem) 0 calc(-0.2rem - var(--sidebar-elems-left-padding));padding:calc((16px - 0.57rem ) / 2 ) 0.25rem;padding-left:0.2rem;}.sidebar-crate h2 .version{display:block;font-weight:normal;font-size:1rem;overflow-wrap:break-word;}.sidebar-crate+.version{margin-top:-1rem;margin-bottom:1rem;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap>pre,.rustdoc .scraped-example .src-line-numbers,.rustdoc .scraped-example .src-line-numbers>pre{border-radius:6px;}.rustdoc .example-wrap>.example-line-numbers,.rustdoc .scraped-example .src-line-numbers,.rustdoc .scraped-example .src-line-numbers>pre{border-top-right-radius:0;border-bottom-right-radius:0;}.rustdoc .example-wrap>.example-line-numbers+pre,.rustdoc .scraped-example .rust{border-top-left-radius:0;border-bottom-left-radius:0;}.rustdoc .scraped-example{position:relative;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap pre{margin:0;flex-grow:1;}.scraped-example:not(.expanded) .example-wrap{max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .example-wrap{max-height:calc(1.5em * 10 + 10px);}.rustdoc:not(.src) .scraped-example:not(.expanded) .src-line-numbers,.rustdoc:not(.src) .scraped-example:not(.expanded) .src-line-numbers>pre,.rustdoc:not(.src) .scraped-example:not(.expanded) pre.rust{padding-bottom:0;overflow:auto hidden;}.rustdoc:not(.src) .scraped-example .src-line-numbers{padding-top:0;}.rustdoc:not(.src) .scraped-example.expanded .src-line-numbers{padding-bottom:0;}.rustdoc:not(.src) .example-wrap pre{overflow:auto;}.rustdoc .example-wrap pre.example-line-numbers,.rustdoc .example-wrap .src-line-numbers{min-width:fit-content;flex-grow:0;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;padding-right:2px;color:var(--src-line-numbers-span-color);}.rustdoc .scraped-example .example-wrap .src-line-numbers{padding:0;}.rustdoc .src-line-numbers pre{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.docblock-short code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.sub-heading{font-size:1rem;flex-grow:0;grid-area:main-heading-sub-heading;line-height:1.25;padding-bottom:4px;}.main-heading rustdoc-toolbar,.main-heading .out-of-band{grid-area:main-heading-toolbar;}rustdoc-toolbar{display:flex;flex-direction:row;flex-wrap:nowrap;min-height:60px;}.docblock code,.docblock-short code,pre,.rustdoc.src .example-wrap,.example-wrap .src-line-numbers{background-color:var(--code-block-background-color);border-radius:var(--code-block-border-radius);}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}.docblock .stab,.docblock-short .stab{display:inline-block;}.docblock li{margin-bottom:.4em;}.docblock li p:not(:last-child){margin-bottom:.3em;}div.where{white-space:pre-wrap;font-size:0.875rem;}.item-info{display:block;margin-left:24px;}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 0 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;}.src nav.sub{margin:0 0 -10px 0;}.section-header{display:block;position:relative;}.section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.section-header>.anchor{left:-15px;padding-right:8px;}h2.section-header>.anchor{padding-right:6px;}a.doc-anchor{color:var(--main-color);display:none;position:absolute;left:-17px;padding-right:10px;padding-left:3px;}*:hover>.doc-anchor{display:block;}.top-doc>.docblock>*:first-child>.doc-anchor{display:none !important;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.scrape-help):not(.tooltip):hover:not(.doc-anchor),.docblock-short a:not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block li.current a{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;padding:0;margin:0;width:100%;}.item-table>li{display:table-row;}.item-table>li>div{display:table-cell;}.item-table>li>.item-name{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}.search-results-title+.sub-heading{color:var(--main-color);display:flex;align-items:baseline;white-space:nowrap;}#crate-search-div{position:relative;min-width:0;}#crate-search{padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" \
+ width="128" height="128" viewBox="-30 -20 176 176"><path d="M111,40.5L64,87.499L17,40.5" \
+ fill="none" stroke="black" strike-linecap="square" stroke-miterlimit="10" stroke-width="12"/> \
+ </svg>');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:2;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;flex:3;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40">\
+ <path d="M7,25L17,32L33,12" fill="none" stroke="black" stroke-width="5"/>\
+ <path d="M7,23L17,30L33,10" fill="none" stroke="white" stroke-width="5"/></svg>');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#settings.popover{--popover-arrow-offset:202px;top:calc(100% - 16px);}#help.popover{max-width:600px;--popover-arrow-offset:118px;top:calc(100% - 16px);}#help dt{float:left;clear:left;margin-right:0.5rem;}#help dd{margin-bottom:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;padding:0 0.5rem;text-wrap-style:balance;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side{display:flex;margin-bottom:20px;}.side-by-side>div{width:50%;padding:0 20px 0 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band,.sub-heading,rustdoc-toolbar{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}.example-wrap>a.test-arrow,.example-wrap .button-holder{visibility:hidden;position:absolute;top:4px;right:4px;z-index:1;}a.test-arrow{height:var(--copy-path-height);padding:6px 4px 0 11px;}a.test-arrow::before{content:url('data:image/svg+xml,<svg viewBox="0 0 20 20" width="18" height="20" \
+ xmlns="http://www.w3.org/2000/svg"><path d="M0 0l18 10-18 10z"/></svg>');}.example-wrap .button-holder{display:flex;}@media not (pointer:coarse){.example-wrap:hover>a.test-arrow,.example-wrap:hover>.button-holder{visibility:visible;}}.example-wrap .button-holder.keep-visible{visibility:visible;}.example-wrap .button-holder>*{background:var(--main-background-color);cursor:pointer;border-radius:var(--button-border-radius);height:var(--copy-path-height);width:var(--copy-path-width);border:0;color:var(--code-example-button-color);}.example-wrap .button-holder>*:hover{color:var(--code-example-button-hover-color);}.example-wrap .button-holder>*:not(:first-child){margin-left:var(--button-left-margin);}.example-wrap .button-holder .copy-button{padding:2px 0 0 4px;}.example-wrap .button-holder .copy-button::before,.example-wrap .test-arrow::before{filter:var(--copy-path-img-filter);}.example-wrap .button-holder .copy-button::before{content:var(--clipboard-image);}.example-wrap .button-holder .copy-button:hover::before,.example-wrap .test-arrow:hover::before{filter:var(--copy-path-img-hover-filter);}.example-wrap .button-holder .copy-button.clicked::before{content:var(--checkmark-image);padding-right:5px;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.main-heading span.since::before{content:"Since ";}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}@keyframes targetfadein{from{background-color:var(--main-background-color);}10%{background-color:var(--target-border-color);}to{background-color:var(--target-background-color);}}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}@media not (prefers-reduced-motion){:target{animation:0.65s cubic-bezier(0,0,0.1,1.0) 0.1s targetfadein;}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{margin-top:0.25rem;display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button,button#toggle-all-docs{margin-left:var(--button-left-margin);display:flex;line-height:1.25;min-width:14px;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a,button#toggle-all-docs{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid transparent;border-radius:var(--button-border-radius);color:var(--main-color);}#settings-menu>a,#help-button>a,button#toggle-all-docs{width:80px;border-radius:var(--toolbar-button-border-radius);}#settings-menu>a,#help-button>a{min-width:0;}#sidebar-button>a{background-color:var(--button-background-color);border-color:var(--border-color);width:33px;}#settings-menu>a:hover,#settings-menu>a:focus-visible,#help-button>a:hover,#help-button>a:focus-visible,#sidebar-button>a:hover,#sidebar-button>a:focus-visible,button#toggle-all-docs:hover,button#toggle-all-docs:focus-visible{border-color:var(--settings-button-border-focus);text-decoration:none;}#settings-menu>a:before{content:url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 12 12" \
+ enable-background="new 0 0 12 12" xmlns="http://www.w3.org/2000/svg">\
+ <path d="M10.25,6c0-0.1243286-0.0261841-0.241333-0.0366211-0.362915l1.6077881-1.5545654l\
+ -1.25-2.1650391 c0,0-1.2674561,0.3625488-2.1323853,0.6099854c-0.2034912-0.1431885-0.421875\
+ -0.2639771-0.6494751-0.3701782L7.25,0h-2.5 c0,0-0.3214111,1.2857666-0.5393066,2.1572876\
+ C3.9830933,2.2634888,3.7647095,2.3842773,3.5612183,2.5274658L1.428833,1.9174805 \
+ l-1.25,2.1650391c0,0,0.9641113,0.9321899,1.6077881,1.5545654C1.7761841,5.758667,\
+ 1.75,5.8756714,1.75,6 s0.0261841,0.241333,0.0366211,0.362915L0.178833,7.9174805l1.25,\
+ 2.1650391l2.1323853-0.6099854 c0.2034912,0.1432495,0.421875,0.2639771,0.6494751,0.3701782\
+ L4.75,12h2.5l0.5393066-2.1572876 c0.2276001-0.1062012,0.4459839-0.2269287,0.6494751\
+ -0.3701782l2.1323853,0.6099854l1.25-2.1650391L10.2133789,6.362915 C10.2238159,6.241333,\
+ 10.25,6.1243286,10.25,6z M6,7.5C5.1715698,7.5,4.5,6.8284302,4.5,6S5.1715698,4.5,6,4.5S7.5\
+ ,5.1715698,7.5,6 S6.8284302,7.5,6,7.5z" fill="black"/></svg>');width:18px;height:18px;filter:var(--settings-menu-filter);}button#toggle-all-docs:before{content:url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 12 12" \
+ enable-background="new 0 0 12 12" xmlns="http://www.w3.org/2000/svg">\
+ <path d="M2,2l4,4l4,-4M2,6l4,4l4,-4" stroke="black" fill="none" stroke-width="2px"/></svg>');width:18px;height:18px;filter:var(--settings-menu-filter);}#help-button>a:before{content:url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 12 12" \
+ enable-background="new 0 0 12 12" xmlns="http://www.w3.org/2000/svg" fill="none">\
+ <circle r="5.25" cx="6" cy="6" stroke-width="1.25" stroke="black"/>\
+ <text x="6" y="7" style="font:8px sans-serif;font-weight:1000" text-anchor="middle" \
+ dominant-baseline="middle" fill="black">?</text></svg>');width:18px;height:18px;filter:var(--settings-menu-filter);}button#toggle-all-docs:before,#help-button>a:before,#settings-menu>a:before{filter:var(--settings-menu-filter);margin:8px;}@media not (pointer:coarse){button#toggle-all-docs:hover:before,#help-button>a:hover:before,#settings-menu>a:hover:before{filter:var(--settings-menu-hover-filter);}}button[disabled]#toggle-all-docs{opacity:0.25;border:solid 1px var(--main-background-color);background-size:cover;}button[disabled]#toggle-all-docs:hover{border:solid 1px var(--main-background-color);cursor:not-allowed;}rustdoc-toolbar span.label{font-size:1rem;flex-grow:1;padding-bottom:4px;}#sidebar-button>a:before{content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" \
+ fill="none" stroke="black">\
+ <rect x="1" y="1" width="20" height="20" ry="1.5" stroke-width="1.5" stroke="%23777"/>\
+ <circle cx="4.375" cy="4.375" r="1" stroke-width=".75"/>\
+ <path d="m7.6121 3v16 M5.375 7.625h-2 m2 3h-2 m2 3h-2" stroke-width="1.25"/></svg>');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:var(--copy-path-height);width:var(--copy-path-width);margin-left:10px;padding:0;padding-left:2px;border:0;font-size:0;}#copy-path::before{filter:var(--copy-path-img-filter);content:var(--clipboard-image);}#copy-path:hover::before{filter:var(--copy-path-img-hover-filter);}#copy-path.clicked::before{content:var(--checkmark-image);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.big-toggle{contain:inline-size;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 12 12" \
+ enable-background="new 0 0 12 12" xmlns="http://www.w3.org/2000/svg">\
+ <path d="M4,2l4,4l-4,4" stroke="black" fill="none" stroke-width="1px"/></svg>');content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.big-toggle>summary:not(.hideme)::before{left:-34px;top:9px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 12 12" \
+ enable-background="new 0 0 12 12" xmlns="http://www.w3.org/2000/svg">\
+ <path d="M2,4l4,4l4,-4" stroke="black" fill="none" stroke-width="1px"/></svg>');}details.toggle[open] >summary::after{content:"Collapse";}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}.src #sidebar-button>a:before,.sidebar-menu-toggle:before{content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" \
+ viewBox="0 0 22 22" fill="none" stroke="black">\
+ <path d="M3,5h16M3,11h16M3,17h16" stroke-width="2.75"/></svg>');opacity:0.75;}.sidebar-menu-toggle:hover:before,.sidebar-menu-toggle:active:before,.sidebar-menu-toggle:focus:before{opacity:1;}.src #sidebar-button>a:before{content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" \
+ viewBox="0 0 22 22" fill="none" stroke="black">\
+ <path d="M16,9v-4h-6v-1l-2,-2h-4l-2,2v16h13L21,9h-15L2,19" stroke-width="1.25"/>\
+ <path d="M15,7h-11v3" stroke-width="0.75"/>\
+ <path d="M3.75,10v1.25" stroke-width="0.375"/></svg>');opacity:0.75;}@media (max-width:850px){#search-tabs .count{display:block;}.side-by-side{flex-direction:column-reverse;}.side-by-side>div{width:auto;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}#copy-path{display:none;}rustdoc-toolbar span.label{display:none;}#settings-menu>a,#help-button>a,button#toggle-all-docs{width:33px;}#settings.popover{--popover-arrow-offset:86px;}#help.popover{--popover-arrow-offset:48px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.sidebar .logo-container,.sidebar .location,.sidebar-resizer{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.src .search-form{margin-left:40px;}.src .main-heading{margin-left:8px;}.hide-sidebar .search-form{margin-left:32px;}.hide-sidebar .src .search-form{margin-left:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;white-space:nowrap;text-overflow:ellipsis;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.hide-sidebar .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;border:none;line-height:0;}.hide-sidebar .sidebar-menu-toggle{display:none;}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#sidebar-button>a:before{content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" \
+ viewBox="0 0 22 22" fill="none" stroke="black">\
+ <rect x="1" y="1" width="20" height="20" ry="1.5" stroke-width="1.5" stroke="%23777"/>\
+ <circle cx="4.375" cy="4.375" r="1" stroke-width=".75"/>\
+ <path d="m3 7.375h16m0-3h-4" stroke-width="1.25"/></svg>');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.toggle:not(.top-doc)>summary,.impl-items>section{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0 0 -25px 0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}.item-table>li>.item-name{width:33%;}.item-table>li>div{overflow-wrap:anywhere;}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example:not(.expanded) .example-wrap::before,.scraped-example:not(.expanded) .example-wrap::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .example-wrap::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .example-wrap::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded){width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded){overflow-x:hidden;}.scraped-example .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"],:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#595959;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#a5a5a5;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(65%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--code-example-button-color:#b2b2b2;--code-example-button-hover-color:#fff;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--settings-menu-filter:invert(70%);--settings-menu-hover-filter:invert(100%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);} \ No newline at end of file
diff --git a/static.files/scrape-examples-46fc985aa763a438.js b/static.files/scrape-examples-46fc985aa763a438.js
new file mode 100644
index 0000000..87b6065
--- /dev/null
+++ b/static.files/scrape-examples-46fc985aa763a438.js
@@ -0,0 +1 @@
+"use strict";(function(){const DEFAULT_MAX_LINES=5;const HIDDEN_MAX_LINES=10;function scrollToLoc(elt,loc,isHidden){const lines=elt.querySelector(".src-line-numbers > pre");let scrollOffset;const maxLines=isHidden?HIDDEN_MAX_LINES:DEFAULT_MAX_LINES;if(loc[1]-loc[0]>maxLines){const line=Math.max(0,loc[0]-1);scrollOffset=lines.children[line].offsetTop}else{const halfHeight=elt.offsetHeight/2;const offsetTop=lines.children[loc[0]].offsetTop;const lastLine=lines.children[loc[1]];const offsetBot=lastLine.offsetTop+lastLine.offsetHeight;const offsetMid=(offsetTop+offsetBot)/2;scrollOffset=offsetMid-halfHeight}lines.parentElement.scrollTo(0,scrollOffset);elt.querySelector(".rust").scrollTo(0,scrollOffset)}function createScrapeButton(parent,className,content){const button=document.createElement("button");button.className=className;button.innerText=content;parent.insertBefore(button,parent.firstChild);return button}window.updateScrapedExample=(example,buttonHolder)=>{let locIndex=0;const highlights=Array.prototype.slice.call(example.querySelectorAll(".highlight"));const link=example.querySelector(".scraped-example-title a");let expandButton=null;if(!example.classList.contains("expanded")){expandButton=createScrapeButton(buttonHolder,"expand","↕")}const isHidden=example.parentElement.classList.contains("more-scraped-examples");const locs=example.locs;if(locs.length>1){const next=createScrapeButton(buttonHolder,"next","≻");const prev=createScrapeButton(buttonHolder,"prev","≺");const onChangeLoc=changeIndex=>{removeClass(highlights[locIndex],"focus");changeIndex();scrollToLoc(example,locs[locIndex][0],isHidden);addClass(highlights[locIndex],"focus");const url=locs[locIndex][1];const title=locs[locIndex][2];link.href=url;link.innerHTML=title};prev.addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex-1+locs.length)%locs.length})});next.addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex+1)%locs.length})})}if(expandButton){expandButton.addEventListener("click",()=>{if(hasClass(example,"expanded")){removeClass(example,"expanded");scrollToLoc(example,locs[0][0],isHidden)}else{addClass(example,"expanded")}})}};function setupLoc(example,isHidden){example.locs=JSON.parse(example.attributes.getNamedItem("data-locs").textContent);scrollToLoc(example,example.locs[0][0],isHidden)}const firstExamples=document.querySelectorAll(".scraped-example-list > .scraped-example");onEachLazy(firstExamples,el=>setupLoc(el,false));onEachLazy(document.querySelectorAll(".more-examples-toggle"),toggle=>{onEachLazy(toggle.querySelectorAll(".toggle-line, .hide-more"),button=>{button.addEventListener("click",()=>{toggle.open=false})});const moreExamples=toggle.querySelectorAll(".scraped-example");toggle.querySelector("summary").addEventListener("click",()=>{setTimeout(()=>{onEachLazy(moreExamples,el=>setupLoc(el,true))})},{once:true})})})() \ No newline at end of file
diff --git a/static.files/scrape-examples-ef1e698c1d417c0c.js b/static.files/scrape-examples-ef1e698c1d417c0c.js
deleted file mode 100644
index ba830e3..0000000
--- a/static.files/scrape-examples-ef1e698c1d417c0c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(function(){const DEFAULT_MAX_LINES=5;const HIDDEN_MAX_LINES=10;function scrollToLoc(elt,loc,isHidden){const lines=elt.querySelector(".src-line-numbers");let scrollOffset;const maxLines=isHidden?HIDDEN_MAX_LINES:DEFAULT_MAX_LINES;if(loc[1]-loc[0]>maxLines){const line=Math.max(0,loc[0]-1);scrollOffset=lines.children[line].offsetTop}else{const wrapper=elt.querySelector(".code-wrapper");const halfHeight=wrapper.offsetHeight/2;const offsetTop=lines.children[loc[0]].offsetTop;const lastLine=lines.children[loc[1]];const offsetBot=lastLine.offsetTop+lastLine.offsetHeight;const offsetMid=(offsetTop+offsetBot)/2;scrollOffset=offsetMid-halfHeight}lines.scrollTo(0,scrollOffset);elt.querySelector(".rust").scrollTo(0,scrollOffset)}function updateScrapedExample(example,isHidden){const locs=JSON.parse(example.attributes.getNamedItem("data-locs").textContent);let locIndex=0;const highlights=Array.prototype.slice.call(example.querySelectorAll(".highlight"));const link=example.querySelector(".scraped-example-title a");if(locs.length>1){const onChangeLoc=changeIndex=>{removeClass(highlights[locIndex],"focus");changeIndex();scrollToLoc(example,locs[locIndex][0],isHidden);addClass(highlights[locIndex],"focus");const url=locs[locIndex][1];const title=locs[locIndex][2];link.href=url;link.innerHTML=title};example.querySelector(".prev").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex-1+locs.length)%locs.length})});example.querySelector(".next").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex+1)%locs.length})})}const expandButton=example.querySelector(".expand");if(expandButton){expandButton.addEventListener("click",()=>{if(hasClass(example,"expanded")){removeClass(example,"expanded");scrollToLoc(example,locs[0][0],isHidden)}else{addClass(example,"expanded")}})}scrollToLoc(example,locs[0][0],isHidden)}const firstExamples=document.querySelectorAll(".scraped-example-list > .scraped-example");onEachLazy(firstExamples,el=>updateScrapedExample(el,false));onEachLazy(document.querySelectorAll(".more-examples-toggle"),toggle=>{onEachLazy(toggle.querySelectorAll(".toggle-line, .hide-more"),button=>{button.addEventListener("click",()=>{toggle.open=false})});const moreExamples=toggle.querySelectorAll(".scraped-example");toggle.querySelector("summary").addEventListener("click",()=>{setTimeout(()=>{onEachLazy(moreExamples,el=>updateScrapedExample(el,true))})},{once:true})})})() \ No newline at end of file
diff --git a/static.files/search-2b6ce74ff89ae146.js b/static.files/search-2b6ce74ff89ae146.js
deleted file mode 100644
index 0545970..0000000
--- a/static.files/search-2b6ce74ff89ae146.js
+++ /dev/null
@@ -1,5 +0,0 @@
-"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];const TY_GENERIC=itemTypes.indexOf("generic");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.length<b.length){const aTmp=a;a=b;b=aTmp}const minDist=a.length-b.length;if(minDist>limit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let functionTypeFingerprint;let currentResults;let typeNameIdMap;const ALIASES=new Map();let typeNameIdOfArray;let typeNameIdOfSlice;let typeNameIdOfArrayOrSlice;function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-]".indexOf(c)!==-1}function isErrorCharacter(c){return"()".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos<parserState.userQuery.length){const c=parserState.userQuery[parserState.pos];if(c!==" "){break}parserState.pos+=1}}function createQueryElement(query,parserState,name,generics,isInGenerics){const path=name.trim();if(path.length===0&&generics.length===0){throw["Unexpected ",parserState.userQuery[parserState.pos]]}if(query.literalSearch&&parserState.totalElems-parserState.genericsElems>0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return{name:"never",id:null,fullPath:["never"],pathWithoutLast:[],pathLast:"never",normalizedPathLast:"never",generics:[],bindings:new Map(),typeFilter:"primitive",bindingName,}}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){bindings.set(gen.bindingName.name,[gen,...gen.bindingName.generics]);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(!isIdentCharacter(c)){if(c==="!"){if(foundExclamation!==-1){throw["Cannot have more than one ","!"," in an ident"]}else if(parserState.pos+1<parserState.length&&isIdentCharacter(parserState.userQuery[parserState.pos+1])){throw["Unexpected ","!",": it can only be at the end of an ident"]}foundExclamation=parserState.pos}else if(isErrorCharacter(c)){throw["Unexpected ",c]}else if(isPathSeparator(c)){if(c===":"){if(!isPathStart(parserState)){break}parserState.pos+=1}else{while(parserState.pos+1<parserState.length){const next_c=parserState.userQuery[parserState.pos+1];if(next_c!==" "){break}parserState.pos+=1}}if(foundExclamation!==-1){if(foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){throw["Cannot have associated items in macros"]}else{foundExclamation=-1}}}else if(c==="["||isEndCharacter(c)||isSpecialStartCharacter(c)||isSeparatorCharacter(c)){break}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if(parserState.userQuery[parserState.pos]==="["){parserState.pos+=1;getItemsBefore(query,parserState,generics,"]");const typeFilter=parserState.typeFilter;const isInBinding=parserState.isInBinding;if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ","[]"," and ",typeFilter," both specified",]}parserState.typeFilter=null;parserState.isInBinding=null;parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","="," cannot be within slice ","[]"]}}elems.push({name:"[]",id:null,fullPath:["[]"],pathWithoutLast:[],pathLast:"[]",normalizedPathLast:"[]",generics,typeFilter:"primitive",bindingName:isInBinding,bindings:new Map(),})}else{const isStringElem=parserState.userQuery[start]==="\"";if(isStringElem){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos<parserState.length&&parserState.userQuery[parserState.pos]==="<"){if(start>=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let start=parserState.pos;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(c===endChar){if(parserState.isInBinding){throw["Unexpected ",endChar," after ","="]}break}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(c===":"){if(parserState.typeFilter!==null){throw["Unexpected ",":"]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;foundStopChar=true;continue}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;start=parserState.pos;getNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;let start=parserState.pos;while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(isEndCharacter(c)){foundStopChar=true;if(isSeparatorCharacter(c)){parserState.pos+=1;continue}else if(c==="-"||c===">"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}throw["Unexpected ",c]}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}else if(query.elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=query.elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;foundStopChar=true;continue}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;start=parserState.pos;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos<parserState.length){if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getItemsBefore(query,parserState,query.returned,"");if(query.returned.length===0){throw["Expected at least one item after ","->"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}duplicates.add(obj.fullPath);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){if(results.size===0){return[]}const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=aaa.item.deprecated;b=bbb.item.deprecated;if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list)}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb){const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb);if(passesUnification){return true}}return false});if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size<queryElem.bindings.size){return false}const queryElemPathLength=queryElem.pathWithoutLast.length;if(queryElemPathLength>0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i<queryElemPathLength){return false}}return true}}function unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensIn){if(fnType.bindings.size<queryElem.bindings.size){return false}let simplifiedGenerics=fnType.generics||[];if(fnType.bindings.size>0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false});return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens){if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens)}return false}function checkIfInList(list,elem,whereClause,mgens){for(const entry of list){if(checkType(entry,elem,whereClause,mgens)){return true}}return false}function checkType(row,elem,whereClause,mgens){if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens)}}return unifyFunctionTypes([row],[elem],whereClause,mgens)}function checkPath(contains,ty,maxEditDistance){if(contains.length===0){return 0}let ret_dist=maxEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;x<clength;++x){const dist=editDistance(path[i+x],contains[x],maxEditDistance);if(dist>maxEditDistance){continue pathiter}dist_total+=dist}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,deprecated:item.deprecated,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path<bbb.path){return 1}else if(aaa.path===bbb.path){return 0}return-1};crateAliases.sort(sortFunc);aliases.sort(sortFunc);const pushFunc=alias=>{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.size<MAX_RESULTS?(tfpDist+1):results_in_args.max_dist;addIntoResults(results_in_args,fullId,pos,-1,tfpDist,0,maxDist)}if(returned){results_returned.max_dist=Math.max(results_returned.max_dist||0,tfpDist);const maxDist=results_returned.size<MAX_RESULTS?(tfpDist+1):results_returned.max_dist;addIntoResults(results_returned,fullId,pos,-1,tfpDist,0,maxDist)}}if(!typePassesFilter(elem.typeFilter,row.ty)){return}let index=row.word.indexOf(elem.pathLast);const normalizedIndex=row.normalizedName.indexOf(elem.pathLast);if(index===-1||(index>normalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row,maxEditDistance);if(path_dist>maxEditDistance){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist+path_dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens)})){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){let queryLen=0;for(const elem of parsedQuery.elems){queryLen+=elem.name.length}for(const elem of parsedQuery.returned){queryLen+=elem.name.length}const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}))}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i<nSearchIndex;++i){handleSingleArg(searchIndex[i],i,elem,results_others,results_in_args,results_returned,maxEditDistance)}}}else if(parsedQuery.foundElems>0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i<nSearchIndex;++i){handleArgs(searchIndex[i],i,results_others)}}}if(parsedQuery.error===null){innerRunQuery()}const ret=createQueryResults(sortResults(results_in_args,true,currentCrate),sortResults(results_returned,true,currentCrate),sortResults(results_others,false,currentCrate),parsedQuery);handleAliases(ret,parsedQuery.original.replace(/"/g,""),filterCrates,currentCrate);if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor=type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}if(item.implDisambiguator!==null){anchor=item.implDisambiguator+"/"+anchor}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html#"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function pathSplitter(path){const tmp="<span>"+path.replace(/::/g,"::</span><span>");if(tmp.endsWith("<span>")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`<span class="typename">${typeName}</span>`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=` <div class="alias">\
-<b>${item.alias}</b><i class="grey">&nbsp;- see&nbsp;</i>\
-</div>`}resultName.insertAdjacentHTML("beforeend",`<div class="path">${alias}\
-${item.displayPath}<span class="${type}">${name}</span>\
-</div>`);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(<br/>"+"Try on <a href=\"https://duckduckgo.com/?q="+encodeURIComponent("rust "+query.userQuery)+"\">DuckDuckGo</a>?<br/><br/>"+"Or try looking in one of these:<ul><li>The <a "+"href=\"https://doc.rust-lang.org/reference/index.html\">Rust Reference</a> "+" for technical details about the language.</li><li><a "+"href=\"https://doc.rust-lang.org/rust-by-example/index.html\">Rust By "+"Example</a> for expository code examples.</a></li><li>The <a "+"href=\"https://doc.rust-lang.org/book/index.html\">Rust Book</a> for "+"introductions to language features and the language itself.</li><li><a "+"href=\"https://docs.rs\">Docs.rs</a> for documentation of crates released on"+" <a href=\"https://crates.io/\">crates.io</a>.</li></ul>"}return[output,array.length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return"<button class=\"selected\">"+text+"<span class=\"count\">"+fmtNbElems+"</span></button>"}return"<button>"+text+"<span class=\"count\">"+fmtNbElems+"</span></button>"}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates=" in&nbsp;<div id=\"crate-search-div\"><select id=\"crate-search\">"+"<option value=\"all crates\">all crates</option>";for(const c of rawSearchIndex.keys()){crates+=`<option value="${c}" ${c === filterCrates && "selected"}>${c}</option>`}crates+="</select></div>"}let output=`<h1 class="search-results-title">Results${crates}</h1>`;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("&lt;").split(">").join("&gt;");if(index%2!==0){error[index]=`<code>${value.replaceAll(" ", "&nbsp;")}</code>`}else{error[index]=value}});output+=`<h3 class="error">Query parser error: "${error.join("")}".</h3>`;output+="<div id=\"search-tabs\">"+makeTabHeader(0,"In Names",ret_others[1])+"</div>";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="<div id=\"search-tabs\">"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"</div>"}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="<div id=\"search-tabs\">"+makeTabHeader(0,signatureTabTitle,ret_others[1])+"</div>";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="<h3 class=\"search-corrections\">"+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.</h3>`}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="<h3 class=\"search-corrections\">"+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.</h3>`}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}function search(forced){const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&&params["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));showResults(execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.map(type=>buildItemSearchType(type,lowercasePaths))}function buildItemSearchType(type,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=[];bindings=new Map()}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths);if(type.length>BINDINGS_DATA){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[buildItemSearchType(assocType,lowercasePaths,true).id,buildItemSearchTypeAll(constraints,lowercasePaths),]}))}else{bindings=new Map()}}if(pathIndex<0){return{id:pathIndex,ty:TY_GENERIC,path:null,generics,bindings,}}if(pathIndex===0){return{id:null,ty:null,path:null,generics,bindings,}}const item=lowercasePaths[pathIndex-1];return{id:buildTypeMapIndex(item.name,isAssocType),ty:item.ty,path:item.path,generics,bindings,}}function buildFunctionSearchType(functionSearchType,lowercasePaths){const INPUTS_DATA=0;const OUTPUT_DATA=1;if(functionSearchType===0){return null}let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i<l;++i){where_clause.push(typeof functionSearchType[i]==="number"?[buildItemSearchType(functionSearchType[i],lowercasePaths)]:buildItemSearchTypeAll(functionSearchType[i],lowercasePaths))}return{inputs,output,where_clause,}}function buildFunctionTypeFingerprint(type,output,fps){let input=type.id;if(input===typeNameIdOfArray||input===typeNameIdOfSlice){input=typeNameIdOfArrayOrSlice}const hashint1=k=>{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));fps.add(input)}for(const g of type.generics){buildFunctionTypeFingerprint(g,output,fps)}const fb={id:null,ty:0,generics:[],bindings:new Map(),};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;buildFunctionTypeFingerprint(fb,output,fps)}output[3]=fps.size}function compareTypeFingerprints(fullId,queryFingerprint){const fh0=functionTypeFingerprint[fullId*4];const fh1=functionTypeFingerprint[(fullId*4)+1];const fh2=functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return functionTypeFingerprint[(fullId*4)+3]}function buildIndex(rawSearchIndex){searchIndex=[];typeNameIdMap=new Map();const charA="A".charCodeAt(0);let currentIndex=0;let id=0;typeNameIdOfArray=buildTypeMapIndex("array");typeNameIdOfSlice=buildTypeMapIndex("slice");typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");for(const crate of rawSearchIndex.values()){id+=crate.t.length+1}functionTypeFingerprint=new Uint32Array((id+1)*4);id=0;for(const[crate,crateCorpus]of rawSearchIndex){const crateRow={crate:crate,ty:3,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,word:crate,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),deprecated:null,implDisambiguator:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionSearchTypes=crateCorpus.f;const deprecatedItems=new Set(crateCorpus.c);const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i<len;++i){const elem=paths[i];const ty=elem[0];const name=elem[1];let path=null;if(elem.length>2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}lowercasePaths.push({ty:ty,name:name.toLowerCase(),path:path});paths[i]={ty:ty,name:name,path:path}}lastPath="";len=itemTypes.length;for(let i=0;i<len;++i){let word="";if(typeof itemNames[i]==="string"){word=itemNames[i].toLowerCase()}const path=itemPaths.has(i)?itemPaths.get(i):lastPath;let type=null;if(itemFunctionSearchTypes[i]!==0){type=buildFunctionSearchType(itemFunctionSearchTypes[i],lowercasePaths);if(type){const fp=functionTypeFingerprint.subarray(id*4,(id+1)*4);const fps=new Set();for(const t of type.inputs){buildFunctionTypeFingerprint(t,fp,fps)}for(const t of type.output){buildFunctionTypeFingerprint(t,fp,fps)}for(const w of type.where_clause){for(const t of w){buildFunctionTypeFingerprint(t,fp,fps)}}}}const row={crate:crate,ty:itemTypes.charCodeAt(i)-charA,name:itemNames[i],path:path,desc:itemDescs[i],parent:itemParentIdxs[i]>0?paths[itemParentIdxs[i]-1]:undefined,type,id:id,word,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),deprecated:deprecatedItems.has(i),implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length}}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom<rect.height){window.scrollBy(0,rect.height)}e.preventDefault()}else if(e.which===37){nextTab(-1);e.preventDefault()}else if(e.which===39){nextTab(1);e.preventDefault()}});searchState.input.addEventListener("keydown",e=>{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&&params.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}})() \ No newline at end of file
diff --git a/static.files/search-f0d225181b97f9a4.js b/static.files/search-f0d225181b97f9a4.js
new file mode 100644
index 0000000..d34fb34
--- /dev/null
+++ b/static.files/search-f0d225181b97f9a4.js
@@ -0,0 +1,6 @@
+"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const TY_GENERIC=itemTypes.indexOf("generic");const TY_IMPORT=itemTypes.indexOf("import");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";const UNBOXING_LIMIT=5;const REGEX_IDENT=/\p{ID_Start}\p{ID_Continue}*|_\p{ID_Continue}+/uy;const REGEX_INVALID_TYPE_FILTER=/[^a-z]/ui;const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.length<b.length){const aTmp=a;a=b;b=aTmp}const minDist=a.length-b.length;if(minDist>limit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost,);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1,)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function isSeparatorCharacter(c){return c===","||c==="="}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function skipWhitespace(parserState){while(parserState.pos<parserState.userQuery.length){const c=parserState.userQuery[parserState.pos];if(c!==" "){break}parserState.pos+=1}}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function getFilteredNextElem(query,parserState,elems,isInGenerics){const start=parserState.pos;if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){throw["Expected type filter before ",":"]}getNextElem(query,parserState,elems,isInGenerics);if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;getNextElem(query,parserState,elems,isInGenerics)}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let hofParameters=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(c===endChar){if(parserState.isInBinding){throw["Unexpected ",endChar," after ","="]}break}else if(endChar!==""&&isReturnArrow(parserState)){if(parserState.isInBinding){throw["Unexpected ","->"," after ","="]}hofParameters=[...elems];elems.length=0;parserState.pos+=2;foundStopChar=true;foundSeparator=false;continue}else if(c===" "){parserState.pos+=1;continue}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;foundSeparator=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;getFilteredNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;if(hofParameters){foundSeparator=false;if([...elems,...hofParameters].some(x=>x.bindingName)||parserState.isInBinding){throw["Unexpected ","="," within ","->"]}const hofElem=makePrimitiveElement("->",{generics:hofParameters,bindings:new Map([["output",[...elems]]]),typeFilter:null,});elems.length=0;elems[0]=hofElem}parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const bindingName=parserState.isInBinding;parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else if(name==="()"&&generics.length===1&&generics[0].name==="->"){generics[0].typeFilter=typeFilter;elems.push(generics[0])}else{if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push(makePrimitiveElement(name,{bindingName,generics}))}}else if(parserState.userQuery[parserState.pos]==="&"){if(parserState.typeFilter!==null&&parserState.typeFilter!=="primitive"){throw["Invalid search type: primitive ","&"," and ",parserState.typeFilter," both specified",]}parserState.typeFilter=null;parserState.pos+=1;let c=parserState.userQuery[parserState.pos];while(c===" "&&parserState.pos<parserState.length){parserState.pos+=1;c=parserState.userQuery[parserState.pos]}const generics=[];if(parserState.userQuery.slice(parserState.pos,parserState.pos+3)==="mut"){generics.push(makePrimitiveElement("mut",{typeFilter:"keyword"}));parserState.pos+=3;c=parserState.userQuery[parserState.pos]}while(c===" "&&parserState.pos<parserState.length){parserState.pos+=1;c=parserState.userQuery[parserState.pos]}if(!isEndCharacter(c)&&parserState.pos<parserState.length){getFilteredNextElem(query,parserState,generics,isInGenerics)}elems.push(makePrimitiveElement("reference",{generics}))}else{const isStringElem=parserState.userQuery[start]==="\"";if(isStringElem){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos<parserState.length&&parserState.userQuery[parserState.pos]==="<"){if(start>=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}else if(parserState.pos<parserState.length&&parserState.userQuery[parserState.pos]==="("){if(start>=end){throw["Found generics without a path"]}if(parserState.isInBinding){throw["Unexpected ","("," after ","="]}parserState.pos+=1;const typeFilter=parserState.typeFilter;parserState.typeFilter=null;getItemsBefore(query,parserState,generics,")");skipWhitespace(parserState);if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getFilteredNextElem(query,parserState,generics,isInGenerics);generics[generics.length-1].bindingName=makePrimitiveElement("output")}else{generics.push(makePrimitiveElement(null,{bindingName:makePrimitiveElement("output"),typeFilter:null,}))}parserState.typeFilter=typeFilter}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics,),)}}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();const match=query.match(REGEX_INVALID_TYPE_FILTER);if(match){throw["Unexpected ",match[0]," in type filter (before ",":",")",]}}function createQueryElement(query,parserState,name,generics,isInGenerics){const path=name.trim();if(path.length===0&&generics.length===0){throw["Unexpected ",parserState.userQuery[parserState.pos]]}if(query.literalSearch&&parserState.totalElems-parserState.genericsElems>0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name.trim()==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return makePrimitiveElement("never",{bindingName})}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){if(gen.name!==null){gen.bindingName.generics.unshift(gen)}bindings.set(gen.bindingName.name,gen.bindingName.generics);return false}return true}),bindings,typeFilter,bindingName,}}function makePrimitiveElement(name,extra){return Object.assign({name,id:null,fullPath:[name],pathWithoutLast:[],pathLast:name,normalizedPathLast:name,generics:[],bindings:new Map(),typeFilter:"primitive",bindingName:null,},extra)}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function getIdentEndPosition(parserState){let afterIdent=consumeIdent(parserState);let end=parserState.pos;let macroExclamation=-1;while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(c==="!"){if(macroExclamation!==-1){throw["Cannot have more than one ","!"," in an ident"]}else if(parserState.pos+1<parserState.length){const pos=parserState.pos;parserState.pos++;const beforeIdent=consumeIdent(parserState);parserState.pos=pos;if(beforeIdent){throw["Unexpected ","!",": it can only be at the end of an ident"]}}if(afterIdent)macroExclamation=parserState.pos}else if(isPathSeparator(c)){if(c===":"){if(!isPathStart(parserState)){break}parserState.pos+=1}else{while(parserState.pos+1<parserState.length){const next_c=parserState.userQuery[parserState.pos+1];if(next_c!==" "){break}parserState.pos+=1}}if(macroExclamation!==-1){throw["Cannot have associated items in macros"]}}else if(c==="["||c==="("||isEndCharacter(c)||isSpecialStartCharacter(c)||isSeparatorCharacter(c)){break}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]," (not a valid identifier)"]}else{throw["Unexpected ",c," (not a valid identifier)"]}parserState.pos+=1;afterIdent=consumeIdent(parserState);end=parserState.pos}if(macroExclamation!==-1){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=macroExclamation}return end}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function consumeIdent(parserState){REGEX_IDENT.lastIndex=parserState.pos;const match=parserState.userQuery.match(REGEX_IDENT);if(match){parserState.pos+=match[0].length;return true}return false}function isPathSeparator(c){return c===":"||c===" "}class VlqHexDecoder{constructor(string,cons){this.string=string;this.cons=cons;this.offset=0;this.backrefQueue=[]}decodeList(){let c=this.string.charCodeAt(this.offset);const ret=[];while(c!==125){ret.push(this.decode());c=this.string.charCodeAt(this.offset)}this.offset+=1;return ret}decode(){let n=0;let c=this.string.charCodeAt(this.offset);if(c===123){this.offset+=1;return this.decodeList()}while(c<96){n=(n<<4)|(c&0xF);this.offset+=1;c=this.string.charCodeAt(this.offset)}n=(n<<4)|(c&0xF);const[sign,value]=[n&1,n>>1];this.offset+=1;return sign?-value:value}next(){const c=this.string.charCodeAt(this.offset);if(c>=48&&c<64){this.offset+=1;return this.backrefQueue[c-48]}if(c===96){this.offset+=1;return this.cons(0)}const result=this.cons(this.decode());this.backrefQueue.unshift(result);if(this.backrefQueue.length>16){this.backrefQueue.pop()}return result}}class RoaringBitmap{constructor(str){const strdecoded=atob(str);const u8array=new Uint8Array(strdecoded.length);for(let j=0;j<strdecoded.length;++j){u8array[j]=strdecoded.charCodeAt(j)}const has_runs=u8array[0]===0x3b;const size=has_runs?((u8array[2]|(u8array[3]<<8))+1):((u8array[4]|(u8array[5]<<8)|(u8array[6]<<16)|(u8array[7]<<24)));let i=has_runs?4:8;let is_run;if(has_runs){const is_run_len=Math.floor((size+7)/8);is_run=u8array.slice(i,i+is_run_len);i+=is_run_len}else{is_run=new Uint8Array()}this.keys=[];this.cardinalities=[];for(let j=0;j<size;++j){this.keys.push(u8array[i]|(u8array[i+1]<<8));i+=2;this.cardinalities.push((u8array[i]|(u8array[i+1]<<8))+1);i+=2}this.containers=[];let offsets=null;if(!has_runs||this.keys.length>=4){offsets=[];for(let j=0;j<size;++j){offsets.push(u8array[i]|(u8array[i+1]<<8)|(u8array[i+2]<<16)|(u8array[i+3]<<24));i+=4}}for(let j=0;j<size;++j){if(offsets&&offsets[j]!==i){console.log(this.containers);throw new Error(`corrupt bitmap ${j}: ${i} / ${offsets[j]}`)}if(is_run[j>>3]&(1<<(j&0x7))){const runcount=(u8array[i]|(u8array[i+1]<<8));i+=2;this.containers.push(new RoaringBitmapRun(runcount,u8array.slice(i,i+(runcount*4)),));i+=runcount*4}else if(this.cardinalities[j]>=4096){this.containers.push(new RoaringBitmapBits(u8array.slice(i,i+8192)));i+=8192}else{const end=this.cardinalities[j]*2;this.containers.push(new RoaringBitmapArray(this.cardinalities[j],u8array.slice(i,i+end),));i+=end}}}contains(keyvalue){const key=keyvalue>>16;const value=keyvalue&0xFFFF;for(let i=0;i<this.keys.length;++i){if(this.keys[i]===key){return this.containers[i].contains(value)}}return false}}class RoaringBitmapRun{constructor(runcount,array){this.runcount=runcount;this.array=array}contains(value){const l=this.runcount*4;for(let i=0;i<l;i+=4){const start=this.array[i]|(this.array[i+1]<<8);const lenm1=this.array[i+2]|(this.array[i+3]<<8);if(value>=start&&value<=(start+lenm1)){return true}}return false}}class RoaringBitmapArray{constructor(cardinality,array){this.cardinality=cardinality;this.array=array}contains(value){const l=this.cardinality*2;for(let i=0;i<l;i+=2){const start=this.array[i]|(this.array[i+1]<<8);if(value===start){return true}}return false}}class RoaringBitmapBits{constructor(array){this.array=array}contains(value){return!!(this.array[value>>3]&(1<<(value&7)))}}class DocSearch{constructor(rawSearchIndex,rootPath,searchState){this.searchIndexDeprecated=new Map();this.searchIndexEmptyDesc=new Map();this.functionTypeFingerprint=null;this.typeNameIdMap=new Map();this.ALIASES=new Map();this.rootPath=rootPath;this.searchState=searchState;this.typeNameIdOfArray=this.buildTypeMapIndex("array");this.typeNameIdOfSlice=this.buildTypeMapIndex("slice");this.typeNameIdOfArrayOrSlice=this.buildTypeMapIndex("[]");this.typeNameIdOfTuple=this.buildTypeMapIndex("tuple");this.typeNameIdOfUnit=this.buildTypeMapIndex("unit");this.typeNameIdOfTupleOrUnit=this.buildTypeMapIndex("()");this.typeNameIdOfFn=this.buildTypeMapIndex("fn");this.typeNameIdOfFnMut=this.buildTypeMapIndex("fnmut");this.typeNameIdOfFnOnce=this.buildTypeMapIndex("fnonce");this.typeNameIdOfHof=this.buildTypeMapIndex("->");this.EMPTY_BINDINGS_MAP=new Map();this.EMPTY_GENERICS_ARRAY=[];this.TYPES_POOL=new Map();this.searchIndex=this.buildIndex(rawSearchIndex)}buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(this.typeNameIdMap.has(name)){const obj=this.typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=this.typeNameIdMap.size;this.typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}buildItemSearchTypeAll(types,lowercasePaths){return types.length>0?types.map(type=>this.buildItemSearchType(type,lowercasePaths)):this.EMPTY_GENERICS_ARRAY}buildItemSearchType(type,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=this.EMPTY_GENERICS_ARRAY;bindings=this.EMPTY_BINDINGS_MAP}else{pathIndex=type[PATH_INDEX_DATA];generics=this.buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths,);if(type.length>BINDINGS_DATA&&type[BINDINGS_DATA].length>0){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[this.buildItemSearchType(assocType,lowercasePaths,true).id,this.buildItemSearchTypeAll(constraints,lowercasePaths),]}))}else{bindings=this.EMPTY_BINDINGS_MAP}}let result;if(pathIndex<0){result={id:pathIndex,ty:TY_GENERIC,path:null,exactPath:null,generics,bindings,}}else if(pathIndex===0){result={id:null,ty:null,path:null,exactPath:null,generics,bindings,}}else{const item=lowercasePaths[pathIndex-1];result={id:this.buildTypeMapIndex(item.name,isAssocType),ty:item.ty,path:item.path,exactPath:item.exactPath,generics,bindings,}}const cr=this.TYPES_POOL.get(result.id);if(cr){if(cr.generics.length===result.generics.length&&cr.generics!==result.generics&&cr.generics.every((x,i)=>result.generics[i]===x)){result.generics=cr.generics}if(cr.bindings.size===result.bindings.size&&cr.bindings!==result.bindings){let ok=true;for(const[k,v]of cr.bindings.entries()){const v2=result.bindings.get(v);if(!v2){ok=false;break}if(v!==v2&&v.length===v2.length&&v.every((x,i)=>v2[i]===x)){result.bindings.set(k,v)}else if(v!==v2){ok=false;break}}if(ok){result.bindings=cr.bindings}}if(cr.ty===result.ty&&cr.path===result.path&&cr.bindings===result.bindings&&cr.generics===result.generics&&cr.ty===result.ty){return cr}}this.TYPES_POOL.set(result.id,result);return result}buildFunctionTypeFingerprint(type,output,fps){let input=type.id;if(input===this.typeNameIdOfArray||input===this.typeNameIdOfSlice){input=this.typeNameIdOfArrayOrSlice}if(input===this.typeNameIdOfTuple||input===this.typeNameIdOfUnit){input=this.typeNameIdOfTupleOrUnit}if(input===this.typeNameIdOfFn||input===this.typeNameIdOfFnMut||input===this.typeNameIdOfFnOnce){input=this.typeNameIdOfHof}const hashint1=k=>{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));fps.add(input)}for(const g of type.generics){this.buildFunctionTypeFingerprint(g,output,fps)}const fb={id:null,ty:0,generics:this.EMPTY_GENERICS_ARRAY,bindings:this.EMPTY_BINDINGS_MAP,};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;this.buildFunctionTypeFingerprint(fb,output,fps)}output[3]=fps.size}buildIndex(rawSearchIndex){const buildFunctionSearchTypeCallback=lowercasePaths=>{return functionSearchType=>{if(functionSearchType===0){return null}const INPUTS_DATA=0;const OUTPUT_DATA=1;let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[this.buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths),]}else{inputs=this.buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths,)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[this.buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths,),]}else{output=this.buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths,)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i<l;++i){where_clause.push(typeof functionSearchType[i]==="number"?[this.buildItemSearchType(functionSearchType[i],lowercasePaths)]:this.buildItemSearchTypeAll(functionSearchType[i],lowercasePaths))}return{inputs,output,where_clause,}}};const searchIndex=[];let currentIndex=0;let id=0;for(const crate of rawSearchIndex.values()){id+=crate.t.length+1}this.functionTypeFingerprint=new Uint32Array((id+1)*4);id=0;for(const[crate,crateCorpus]of rawSearchIndex){const itemDescShardDecoder=new VlqHexDecoder(crateCorpus.D,noop=>noop);let descShard={crate,shard:0,start:0,len:itemDescShardDecoder.next(),promise:null,resolve:null,};const descShardList=[descShard];this.searchIndexDeprecated.set(crate,new RoaringBitmap(crateCorpus.c));this.searchIndexEmptyDesc.set(crate,new RoaringBitmap(crateCorpus.e));let descIndex=0;const crateRow={crate,ty:3,name:crate,path:"",descShard,descIndex,exactPath:"",desc:crateCorpus.doc,parent:undefined,type:null,id,word:crate,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),bitIndex:0,implDisambiguator:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;if(!this.searchIndexEmptyDesc.get(crate).contains(0)){descIndex+=1}const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemReexports=new Map(crateCorpus.r);const itemParentIdxDecoder=new VlqHexDecoder(crateCorpus.i,noop=>noop);const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];const itemFunctionDecoder=new VlqHexDecoder(crateCorpus.f,buildFunctionSearchTypeCallback(lowercasePaths),);let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i<len;++i){const elem=paths[i];const ty=elem[0];const name=elem[1];let path=null;if(elem.length>2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}const exactPath=elem.length>3?itemPaths.get(elem[3]):path;lowercasePaths.push({ty,name:name.toLowerCase(),path,exactPath});paths[i]={ty,name,path,exactPath}}lastPath="";len=itemTypes.length;let lastName="";let lastWord="";for(let i=0;i<len;++i){const bitIndex=i+1;if(descIndex>=descShard.len&&!this.searchIndexEmptyDesc.get(crate).contains(bitIndex)){descShard={crate,shard:descShard.shard+1,start:descShard.start+descShard.len,len:itemDescShardDecoder.next(),promise:null,resolve:null,};descIndex=0;descShardList.push(descShard)}const name=itemNames[i]===""?lastName:itemNames[i];const word=itemNames[i]===""?lastWord:itemNames[i].toLowerCase();const path=itemPaths.has(i)?itemPaths.get(i):lastPath;const type=itemFunctionDecoder.next();if(type!==null){if(type){const fp=this.functionTypeFingerprint.subarray(id*4,(id+1)*4);const fps=new Set();for(const t of type.inputs){this.buildFunctionTypeFingerprint(t,fp,fps)}for(const t of type.output){this.buildFunctionTypeFingerprint(t,fp,fps)}for(const w of type.where_clause){for(const t of w){this.buildFunctionTypeFingerprint(t,fp,fps)}}}}const itemParentIdx=itemParentIdxDecoder.next();const row={crate,ty:itemTypes.charCodeAt(i)-65,name,path,descShard,descIndex,exactPath:itemReexports.has(i)?itemPaths.get(itemReexports.get(i)):path,parent:itemParentIdx>0?paths[itemParentIdx-1]:undefined,type,id,word,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),bitIndex,implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path;if(!this.searchIndexEmptyDesc.get(crate).contains(bitIndex)){descIndex+=1}lastName=name;lastWord=word}if(aliases){const currentCrateAliases=new Map();this.ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length;this.searchState.descShards.set(crate,descShardList)}this.TYPES_POOL=new Map();return searchIndex}static parseQuery(userQuery){function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,hasReturnArrow:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function parseInput(query,parserState){let foundStopChar=true;while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(isEndCharacter(c)){foundStopChar=true;if(isSeparatorCharacter(c)){parserState.pos+=1;continue}else if(c==="-"||c===">"){if(isReturnArrow(parserState)){query.hasReturnArrow=true;break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;getFilteredNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos<parserState.length){if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getItemsBefore(query,parserState,query.returned,"");query.hasReturnArrow=true;break}else{parserState.pos+=1}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}async execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}const buildHrefAndPath=item=>{let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;let exactPath=item.exactPath;if(type==="mod"){displayPath=path+"::";href=this.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=this.rootPath+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=this.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=this.rootPath+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor=type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;exactPath=`${myparent.exactPath}::${myparent.name}`;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}if(item.implDisambiguator!==null){anchor=item.implDisambiguator+"/"+anchor}href=this.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html#"+anchor}else{displayPath=item.path+"::";href=this.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href,`${exactPath}::${name}`]};function pathSplitter(path){const tmp="<span>"+path.replace(/::/g,"::</span><span>");if(tmp.endsWith("<span>")){return tmp.slice(0,tmp.length-6)}return tmp}const transformResults=results=>{const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=this.searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=res[2]+"|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}if(obj.ty===TY_IMPORT&&duplicates.has(res[2])){continue}if(duplicates.has(res[2]+"|"+TY_IMPORT)){continue}duplicates.add(obj.fullPath);duplicates.add(res[2]);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out};const sortResults=async(results,isType,preferredCrate)=>{const userQuery=parsedQuery.userQuery;const casedUserQuery=parsedQuery.original;const isMixedCase=casedUserQuery!==userQuery;const result_list=[];for(const result of results.values()){result.item=this.searchIndex[result.id];result.word=this.searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;if(isMixedCase){a=(aaa.item.name!==casedUserQuery);b=(bbb.item.name!==casedUserQuery);if(a!==b){return a-b}}a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=this.searchIndexDeprecated.get(aaa.item.crate).contains(aaa.item.bitIndex);b=this.searchIndexDeprecated.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=this.searchIndexEmptyDesc.get(aaa.item.crate).contains(aaa.item.bitIndex);b=this.searchIndexEmptyDesc.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list)};function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth+1,)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(passesUnification){return true}}return false},unboxingDepth,);if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,);if(passesUnification){return true}}return false}const unifyFunctionTypeIsMatchCandidate=(fnType,queryElem,mgensIn)=>{if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===this.typeNameIdOfArrayOrSlice&&(fnType.id===this.typeNameIdOfSlice||fnType.id===this.typeNameIdOfArray)){}else if(queryElem.id===this.typeNameIdOfTupleOrUnit&&(fnType.id===this.typeNameIdOfTuple||fnType.id===this.typeNameIdOfUnit)){}else if(queryElem.id===this.typeNameIdOfHof&&(fnType.id===this.typeNameIdOfFn||fnType.id===this.typeNameIdOfFnMut||fnType.id===this.typeNameIdOfFnOnce)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size<queryElem.bindings.size){return false}const queryElemPathLength=queryElem.pathWithoutLast.length;if(queryElemPathLength>0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i<queryElemPathLength){return false}}return true}};function unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensIn,unboxingDepth,){if(fnType.bindings.size<queryElem.bindings.size){return false}let simplifiedGenerics=fnType.generics||[];if(fnType.bindings.size>0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false},unboxingDepth,);return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp,unboxingDepth,)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens,unboxingDepth,)}return false}function checkIfInList(list,elem,whereClause,mgens,unboxingDepth){for(const entry of list){if(checkType(entry,elem,whereClause,mgens,unboxingDepth)){return true}}return false}const checkType=(row,elem,whereClause,mgens,unboxingDepth)=>{if(unboxingDepth>=UNBOXING_LIMIT){return false}if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0&&mgens===null){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth+1,)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==this.typeNameIdOfArrayOrSlice&&elem.id!==this.typeNameIdOfTupleOrUnit&&elem.id!==this.typeNameIdOfHof){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth,)}}return unifyFunctionTypes([row],[elem],whereClause,mgens,null,unboxingDepth)};function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3,);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;x<clength;++x){const[p,c]=[path[i+x],contains[x]];if(Math.floor((p.length-c.length)/3)<=maxPathEditDistance&&p.indexOf(c)!==-1){dist_total+=Math.floor((p.length-c.length)/3)}else{const dist=editDistance(p,c,maxPathEditDistance);if(dist>maxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,descShard:item.descShard,descIndex:item.descIndex,exactPath:item.exactPath,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,bitIndex:item.bitIndex,implDisambiguator:item.implDisambiguator,}}const handleAliases=async(ret,query,filterCrates,currentCrate)=>{const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(this.ALIASES.has(filterCrates)&&this.ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=this.ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(this.searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of this.ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(this.searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path<bbb.path){return 1}else if(aaa.path===bbb.path){return 0}return-1};crateAliases.sort(sortFunc);aliases.sort(sortFunc);const fetchDesc=alias=>{return this.searchIndexEmptyDesc.get(alias.crate).contains(alias.bitIndex)?"":this.searchState.loadDesc(alias)};const[crateDescs,descs]=await Promise.all([Promise.all(crateAliases.map(fetchDesc)),Promise.all(aliases.map(fetchDesc)),]);const pushFunc=alias=>{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach((alias,i)=>{alias.desc=descs[i]});aliases.forEach(pushFunc);crateAliases.forEach((alias,i)=>{alias.desc=crateDescs[i]});crateAliases.forEach(pushFunc)};function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance,){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint,);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause,null,0);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause,null,0);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.size<MAX_RESULTS?(tfpDist+1):results_in_args.max_dist;addIntoResults(results_in_args,fullId,pos,-1,tfpDist,0,maxDist)}if(returned){results_returned.max_dist=Math.max(results_returned.max_dist||0,tfpDist);const maxDist=results_returned.size<MAX_RESULTS?(tfpDist+1):results_returned.max_dist;addIntoResults(results_returned,fullId,pos,-1,tfpDist,0,maxDist)}}if(!typePassesFilter(elem.typeFilter,row.ty)){return}let index=row.word.indexOf(elem.pathLast);const normalizedIndex=row.normalizedName.indexOf(elem.pathLast);if(index===-1||(index>normalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row);if(path_dist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint,);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens,null,0,)},0,)){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}const compareTypeFingerprints=(fullId,queryFingerprint)=>{const fh0=this.functionTypeFingerprint[fullId*4];const fh1=this.functionTypeFingerprint[(fullId*4)+1];const fh2=this.functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return this.functionTypeFingerprint[(fullId*4)+3]};const innerRunQuery=()=>{const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();const convertNameToId=(elem,isAssocType)=>{const loweredName=elem.pathLast.toLowerCase();if(this.typeNameIdMap.has(loweredName)&&(isAssocType||!this.typeNameIdMap.get(loweredName).assocOnly)){elem.id=this.typeNameIdMap.get(loweredName).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of this.typeNameIdMap){const dist=Math.min(editDistance(name,loweredName,maxEditDistance),editDistance(name,elem.normalizedPathLast,maxEditDistance),);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of this.typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!this.typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[this.typeNameIdMap.get(name).id,constraints]}),)};const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);this.buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);this.buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&!parsedQuery.hasReturnArrow){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];const length=this.searchIndex.length;for(let i=0,nSearchIndex=length;i<nSearchIndex;++i){handleSingleArg(this.searchIndex[i],i,elem,results_others,results_in_args,results_returned,maxEditDistance,)}}}else if(parsedQuery.foundElems>0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=this.searchIndex.length;i<nSearchIndex;++i){handleArgs(this.searchIndex[i],i,results_others)}}};if(parsedQuery.error===null){innerRunQuery()}const[sorted_in_args,sorted_returned,sorted_others]=await Promise.all([sortResults(results_in_args,true,currentCrate),sortResults(results_returned,true,currentCrate),sortResults(results_others,false,currentCrate),]);const ret=createQueryResults(sorted_in_args,sorted_returned,sorted_others,parsedQuery);await handleAliases(ret,parsedQuery.original.replace(/"/g,""),filterCrates,currentCrate);await Promise.all([ret.others,ret.returned,ret.in_args].map(async list=>{const descs=await Promise.all(list.map(result=>{return this.searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex)?"":this.searchState.loadDesc(result)}));for(const[i,result]of list.entries()){result.desc=descs[i]}}));if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}}let rawSearchIndex;let docSearch;const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];let currentResults;function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&window.searchIndex.has(elem.value)){return elem.value}return null}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}async function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;for(const item of array){const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`<span class="typename">${typeName}</span>`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=` <div class="alias">\
+<b>${item.alias}</b><i class="grey">&nbsp;- see&nbsp;</i>\
+</div>`}resultName.insertAdjacentHTML("beforeend",`<div class="path">${alias}\
+${item.displayPath}<span class="${type}">${name}</span>\
+</div>`);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)}}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(<br/>"+"Try on <a href=\"https://duckduckgo.com/?q="+encodeURIComponent("rust "+query.userQuery)+"\">DuckDuckGo</a>?<br/><br/>"+"Or try looking in one of these:<ul><li>The <a "+"href=\"https://doc.rust-lang.org/reference/index.html\">Rust Reference</a> "+" for technical details about the language.</li><li><a "+"href=\"https://doc.rust-lang.org/rust-by-example/index.html\">Rust By "+"Example</a> for expository code examples.</a></li><li>The <a "+"href=\"https://doc.rust-lang.org/book/index.html\">Rust Book</a> for "+"introductions to language features and the language itself.</li><li><a "+"href=\"https://docs.rs\">Docs.rs</a> for documentation of crates released on"+" <a href=\"https://crates.io/\">crates.io</a>.</li></ul>"}return[output,array.length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return"<button class=\"selected\">"+text+"<span class=\"count\">"+fmtNbElems+"</span></button>"}return"<button>"+text+"<span class=\"count\">"+fmtNbElems+"</span></button>"}async function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=DocSearch.parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const[ret_others,ret_in_args,ret_returned]=await Promise.all([addTab(results.others,results.query,true),addTab(results.in_args,results.query,false),addTab(results.returned,results.query,false),]);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates="<div class=\"sub-heading\"> in&nbsp;<div id=\"crate-search-div\">"+"<select id=\"crate-search\"><option value=\"all crates\">all crates</option>";for(const c of rawSearchIndex.keys()){crates+=`<option value="${c}" ${c === filterCrates && "selected"}>${c}</option>`}crates+="</select></div></div>"}let output=`<div class="main-heading">\
+ <h1 class="search-results-title">Results</h1>${crates}</div>`;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("&lt;").split(">").join("&gt;");if(index%2!==0){error[index]=`<code>${value.replaceAll(" ", "&nbsp;")}</code>`}else{error[index]=value}});output+=`<h3 class="error">Query parser error: "${error.join("")}".</h3>`;output+="<div id=\"search-tabs\">"+makeTabHeader(0,"In Names",ret_others[1])+"</div>";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="<div id=\"search-tabs\">"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"</div>"}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="<div id=\"search-tabs\">"+makeTabHeader(0,signatureTabTitle,ret_others[1])+"</div>";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="<h3 class=\"search-corrections\">"+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.</h3>`}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="<h3 class=\"search-corrections\">"+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.</h3>`}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;if(searchState.rustdocToolbar){search.querySelector(".main-heading").appendChild(searchState.rustdocToolbar)}const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}async function search(forced){const query=DocSearch.parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&&params["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="\""+query.original+"\" Search - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));await showResults(await docSearch.execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom<rect.height){window.scrollBy(0,rect.height)}e.preventDefault()}else if(e.which===37){nextTab(-1);e.preventDefault()}else if(e.which===39){nextTab(1);e.preventDefault()}});searchState.input.addEventListener("keydown",e=>{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&&params.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}function initSearch(searchIndx){rawSearchIndex=searchIndx;if(typeof window!=="undefined"){docSearch=new DocSearch(rawSearchIndex,ROOT_PATH,searchState);registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}else if(typeof exports!=="undefined"){docSearch=new DocSearch(rawSearchIndex,ROOT_PATH,searchState);exports.docSearch=docSearch;exports.parseQuery=DocSearch.parseQuery}}if(typeof exports!=="undefined"){exports.initSearch=initSearch}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}})() \ No newline at end of file
diff --git a/static.files/settings-4313503d2e1961c2.js b/static.files/settings-805db61a62df4bd2.js
index ab425fe..4a30479 100644
--- a/static.files/settings-4313503d2e1961c2.js
+++ b/static.files/settings-805db61a62df4bd2.js
@@ -1,4 +1,4 @@
-"use strict";(function(){const isSettingsPage=window.location.pathname.endsWith("/settings.html");function changeSetting(settingName,value){if(settingName==="theme"){const useSystem=value==="system preference"?"true":"false";updateLocalStorage("use-system-theme",useSystem)}updateLocalStorage(settingName,value);switch(settingName){case"theme":case"preferred-dark-theme":case"preferred-light-theme":updateTheme();updateLightAndDark();break;case"line-numbers":if(value===true){window.rustdoc_add_line_numbers_to_examples()}else{window.rustdoc_remove_line_numbers_from_examples()}break;case"hide-sidebar":if(value===true){addClass(document.documentElement,"hide-sidebar")}else{removeClass(document.documentElement,"hide-sidebar")}break}}function showLightAndDark(){removeClass(document.getElementById("preferred-light-theme"),"hidden");removeClass(document.getElementById("preferred-dark-theme"),"hidden")}function hideLightAndDark(){addClass(document.getElementById("preferred-light-theme"),"hidden");addClass(document.getElementById("preferred-dark-theme"),"hidden")}function updateLightAndDark(){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||(useSystem===null&&getSettingValue("theme")===null)){showLightAndDark()}else{hideLightAndDark()}}function setEvents(settingsElement){updateLightAndDark();onEachLazy(settingsElement.querySelectorAll("input[type=\"checkbox\"]"),toggle=>{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=()=>{changeSetting(toggle.id,toggle.checked)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){settingValue=useSystem==="false"?"light":"system preference"}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\
+"use strict";(function(){const isSettingsPage=window.location.pathname.endsWith("/settings.html");function changeSetting(settingName,value){if(settingName==="theme"){const useSystem=value==="system preference"?"true":"false";updateLocalStorage("use-system-theme",useSystem)}updateLocalStorage(settingName,value);switch(settingName){case"theme":case"preferred-dark-theme":case"preferred-light-theme":updateTheme();updateLightAndDark();break;case"line-numbers":if(value===true){window.rustdoc_add_line_numbers_to_examples()}else{window.rustdoc_remove_line_numbers_from_examples()}break;case"hide-sidebar":if(value===true){addClass(document.documentElement,"hide-sidebar")}else{removeClass(document.documentElement,"hide-sidebar")}break;case"hide-toc":if(value===true){addClass(document.documentElement,"hide-toc")}else{removeClass(document.documentElement,"hide-toc")}break;case"hide-modnav":if(value===true){addClass(document.documentElement,"hide-modnav")}else{removeClass(document.documentElement,"hide-modnav")}break}}function showLightAndDark(){removeClass(document.getElementById("preferred-light-theme"),"hidden");removeClass(document.getElementById("preferred-dark-theme"),"hidden")}function hideLightAndDark(){addClass(document.getElementById("preferred-light-theme"),"hidden");addClass(document.getElementById("preferred-dark-theme"),"hidden")}function updateLightAndDark(){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||(useSystem===null&&getSettingValue("theme")===null)){showLightAndDark()}else{hideLightAndDark()}}function setEvents(settingsElement){updateLightAndDark();onEachLazy(settingsElement.querySelectorAll("input[type=\"checkbox\"]"),toggle=>{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=()=>{changeSetting(toggle.id,toggle.checked)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){settingValue=useSystem==="false"?"light":"system preference"}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){if(setting==="hr"){output+="<hr>";continue}const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\
<div class="setting-line" id="${js_data_name}">
<div class="setting-radio-name">${setting_name}</div>
<div class="setting-radio-choices">`;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";const full=`${js_data_name}-${option.replace(/ /g,"-")}`;output+=`\
@@ -14,4 +14,4 @@
<input type="checkbox" id="${js_data_name}"${checked}>\
<span>${setting_name}</span>\
</label>\
-</div>`}}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Hide persistent navigation bar","js_name":"hide-sidebar","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`<div class="settings">${buildSettingsPageSections(settings)}</div>`;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display="";onEachLazy(settingsMenu.querySelectorAll("input[type='checkbox']"),el=>{const val=getSettingValue(el.id);const checked=val==="true";if(checked!==el.checked&&val!==null){el.checked=checked}})}function settingsBlurHandler(event){blurHandler(event,getSettingsButton(),window.hidePopoverMenus)}if(isSettingsPage){getSettingsButton().onclick=event=>{event.preventDefault()}}else{const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=event=>{if(settingsMenu.contains(event.target)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file
+</div>`}}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Hide persistent navigation bar","js_name":"hide-sidebar","default":false,},{"name":"Hide table of contents","js_name":"hide-toc","default":false,},{"name":"Hide module navigation","js_name":"hide-modnav","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`<div class="settings">${buildSettingsPageSections(settings)}</div>`;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display="";onEachLazy(settingsMenu.querySelectorAll("input[type='checkbox']"),el=>{const val=getSettingValue(el.id);const checked=val==="true";if(checked!==el.checked&&val!==null){el.checked=checked}})}function settingsBlurHandler(event){if(!getHelpButton().contains(document.activeElement)&&!getHelpButton().contains(event.relatedTarget)&&!getSettingsButton().contains(document.activeElement)&&!getSettingsButton().contains(event.relatedTarget)){window.hidePopoverMenus()}}if(!isSettingsPage){const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=event=>{if(settingsMenu.contains(event.target)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file
diff --git a/static.files/src-script-39ed315d46fb705f.js b/static.files/src-script-39ed315d46fb705f.js
deleted file mode 100644
index ef74f36..0000000
--- a/static.files/src-script-39ed315d46fb705f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(function(){const rootPath=getVar("root-path");const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;const RUSTDOC_MOBILE_BREAKPOINT=700;function closeSidebarIfMobile(){if(window.innerWidth<RUSTDOC_MOBILE_BREAKPOINT){updateLocalStorage("source-sidebar-show","false")}}function createDirEntry(elem,parent,fullPath,hasFoundFile){const dirEntry=document.createElement("details");const summary=document.createElement("summary");dirEntry.className="dir-entry";fullPath+=elem[NAME_OFFSET]+"/";summary.innerText=elem[NAME_OFFSET];dirEntry.appendChild(summary);const folders=document.createElement("div");folders.className="folders";if(elem[DIRS_OFFSET]){for(const dir of elem[DIRS_OFFSET]){if(createDirEntry(dir,folders,fullPath,false)){dirEntry.open=true;hasFoundFile=true}}}dirEntry.appendChild(folders);const files=document.createElement("div");files.className="files";if(elem[FILES_OFFSET]){const w=window.location.href.split("#")[0];for(const file_text of elem[FILES_OFFSET]){const file=document.createElement("a");file.innerText=file_text;file.href=rootPath+"src/"+fullPath+file_text+".html";file.addEventListener("click",closeSidebarIfMobile);if(!hasFoundFile&&w===file.href){file.className="selected";dirEntry.open=true;hasFoundFile=true}files.appendChild(file)}}dirEntry.appendChild(files);parent.appendChild(dirEntry);return hasFoundFile}let toggleLabel;function getToggleLabel(){toggleLabel=toggleLabel||document.querySelector("#src-sidebar-toggle button");return toggleLabel}window.rustdocCloseSourceSidebar=()=>{removeClass(document.documentElement,"src-sidebar-expanded");getToggleLabel().innerText=">";updateLocalStorage("source-sidebar-show","false")};window.rustdocShowSourceSidebar=()=>{addClass(document.documentElement,"src-sidebar-expanded");getToggleLabel().innerText="<";updateLocalStorage("source-sidebar-show","true")};function toggleSidebar(){const child=this.parentNode.children[0];if(child.innerText===">"){window.rustdocShowSourceSidebar()}else{window.rustdocCloseSourceSidebar()}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="src-sidebar-toggle";const inner=document.createElement("button");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}inner.onclick=toggleSidebar;sidebarToggle.appendChild(inner);return sidebarToggle}function createSrcSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="src-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);for(const[key,source]of srcIndex){source[NAME_OFFSET]=key;hasFoundFile=createDirEntry(source,sidebar,"",hasFoundFile)}container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}function highlightSrcLines(){const match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/);if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to<from){const tmp=to;to=from;from=tmp}let elem=document.getElementById(from);if(!elem){return}const x=document.getElementById(from);if(x){x.scrollIntoView()}onEachLazy(document.getElementsByClassName("src-line-numbers"),e=>{onEachLazy(e.getElementsByTagName("a"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSrcHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSrcLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)||ev.ctrlKey||ev.altKey||ev.metaKey){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",highlightSrcLines);onEachLazy(document.getElementsByClassName("src-line-numbers"),el=>{el.addEventListener("click",handleSrcHighlight)});highlightSrcLines();window.createSrcSidebar=createSrcSidebar})() \ No newline at end of file
diff --git a/static.files/src-script-e66d777a5a92e9b2.js b/static.files/src-script-e66d777a5a92e9b2.js
new file mode 100644
index 0000000..d0aebb8
--- /dev/null
+++ b/static.files/src-script-e66d777a5a92e9b2.js
@@ -0,0 +1 @@
+"use strict";(function(){const rootPath=getVar("root-path");const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;const RUSTDOC_MOBILE_BREAKPOINT=700;function closeSidebarIfMobile(){if(window.innerWidth<RUSTDOC_MOBILE_BREAKPOINT){updateLocalStorage("source-sidebar-show","false")}}function createDirEntry(elem,parent,fullPath,hasFoundFile){const dirEntry=document.createElement("details");const summary=document.createElement("summary");dirEntry.className="dir-entry";fullPath+=elem[NAME_OFFSET]+"/";summary.innerText=elem[NAME_OFFSET];dirEntry.appendChild(summary);const folders=document.createElement("div");folders.className="folders";if(elem[DIRS_OFFSET]){for(const dir of elem[DIRS_OFFSET]){if(createDirEntry(dir,folders,fullPath,false)){dirEntry.open=true;hasFoundFile=true}}}dirEntry.appendChild(folders);const files=document.createElement("div");files.className="files";if(elem[FILES_OFFSET]){const w=window.location.href.split("#")[0];for(const file_text of elem[FILES_OFFSET]){const file=document.createElement("a");file.innerText=file_text;file.href=rootPath+"src/"+fullPath+file_text+".html";file.addEventListener("click",closeSidebarIfMobile);if(!hasFoundFile&&w===file.href){file.className="selected";dirEntry.open=true;hasFoundFile=true}files.appendChild(file)}}dirEntry.appendChild(files);parent.appendChild(dirEntry);return hasFoundFile}window.rustdocCloseSourceSidebar=()=>{removeClass(document.documentElement,"src-sidebar-expanded");updateLocalStorage("source-sidebar-show","false")};window.rustdocShowSourceSidebar=()=>{addClass(document.documentElement,"src-sidebar-expanded");updateLocalStorage("source-sidebar-show","true")};window.rustdocToggleSrcSidebar=()=>{if(document.documentElement.classList.contains("src-sidebar-expanded")){window.rustdocCloseSourceSidebar()}else{window.rustdocShowSourceSidebar()}};function createSrcSidebar(){const container=document.querySelector("nav.sidebar");const sidebar=document.createElement("div");sidebar.id="src-sidebar";let hasFoundFile=false;for(const[key,source]of srcIndex){source[NAME_OFFSET]=key;hasFoundFile=createDirEntry(source,sidebar,"",hasFoundFile)}container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}function highlightSrcLines(){const match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/);if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to<from){const tmp=to;to=from;from=tmp}let elem=document.getElementById(from);if(!elem){return}const x=document.getElementById(from);if(x){x.scrollIntoView()}onEachLazy(document.getElementsByClassName("src-line-numbers"),e=>{onEachLazy(e.getElementsByTagName("a"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSrcHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSrcLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)||ev.ctrlKey||ev.altKey||ev.metaKey){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",highlightSrcLines);onEachLazy(document.getElementsByClassName("src-line-numbers"),el=>{el.addEventListener("click",handleSrcHighlight)});highlightSrcLines();window.createSrcSidebar=createSrcSidebar})() \ No newline at end of file
diff --git a/static.files/storage-1d39b6787ed640ff.js b/static.files/storage-1d39b6787ed640ff.js
new file mode 100644
index 0000000..5aac776
--- /dev/null
+++ b/static.files/storage-1d39b6787ed640ff.js
@@ -0,0 +1,23 @@
+"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){const themeNames=getVar("themes").split(",").filter(t=>t);themeNames.push(...builtinThemes);if(themeNames.indexOf(newThemeName)===-1){return}if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+encodeURIComponent(newThemeName)+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(`<link rel="stylesheet" id="themeStyle" href="${newHref}">`);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}if(getSettingValue("hide-toc")==="true"){addClass(document.documentElement,"hide-toc")}if(getSettingValue("hide-modnav")==="true"){addClass(document.documentElement,"hide-modnav")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px",)}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px",)}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}});class RustdocSearchElement extends HTMLElement{constructor(){super()}connectedCallback(){const rootPath=getVar("root-path");const currentCrate=getVar("current-crate");this.innerHTML=`<nav class="sub">
+ <form class="search-form">
+ <span></span> <!-- This empty span is a hacky fix for Safari - See #93184 -->
+ <div id="sidebar-button" tabindex="-1">
+ <a href="${rootPath}${currentCrate}/all.html" title="show sidebar"></a>
+ </div>
+ <input
+ class="search-input"
+ name="search"
+ aria-label="Run search in the documentation"
+ autocomplete="off"
+ spellcheck="false"
+ placeholder="Type ‘S’ or ‘/’ to search, ‘?’ for more options…"
+ type="search">
+ </form>
+ </nav>`}}window.customElements.define("rustdoc-search",RustdocSearchElement);class RustdocToolbarElement extends HTMLElement{constructor(){super()}connectedCallback(){if(this.firstElementChild){return}const rootPath=getVar("root-path");this.innerHTML=`
+ <div id="settings-menu" tabindex="-1">
+ <a href="${rootPath}settings.html"><span class="label">Settings</span></a>
+ </div>
+ <div id="help-button" tabindex="-1">
+ <a href="${rootPath}help.html"><span class="label">Help</span></a>
+ </div>
+ <button id="toggle-all-docs"><span class="label">Summary</span></button>`}}window.customElements.define("rustdoc-toolbar",RustdocToolbarElement) \ No newline at end of file
diff --git a/static.files/storage-f2adc0d6ca4d09fb.js b/static.files/storage-f2adc0d6ca4d09fb.js
deleted file mode 100644
index 1723360..0000000
--- a/static.files/storage-f2adc0d6ca4d09fb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+newThemeName+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(`<link rel="stylesheet" id="themeStyle" href="${newHref}">`);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px")}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px")}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}}) \ No newline at end of file
diff --git a/static.files/wheel-7b819b6101059cd0.svg b/static.files/wheel-7b819b6101059cd0.svg
deleted file mode 100644
index 83c07f6..0000000
--- a/static.files/wheel-7b819b6101059cd0.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="27.434" height="29.5" enable-background="new 0 0 27.434 29.5" viewBox="0 0 27.434 29.5"><path d="M27.316 18.39a2.696 2.696 0 0 0-.98-1.46 1.62 1.62 0 0 1-.016-.762l.035-.176v-1.191c0-1.246-.003-1.278-.046-1.473a1.717 1.717 0 0 1 .007-.805c.477-.343.829-.859.997-1.472.257-.957.074-2.094-.508-3.117l-.594-1.032c-.746-1.304-1.965-2.117-3.18-2.117-.379 0-.75.078-1.086.235a1.958 1.958 0 0 1-.855-.391l-.102-.082-.117-.063-1.855-1.07-.094-.055-.106-.043c-.378-.156-.66-.41-.77-.554C17.919 1.172 16.349 0 14.297 0h-1.155c-2.043 0-3.61 1.152-3.75 2.723-.114.14-.391.382-.758.527l-.102.04-.094.05-1.94 1.066-.134.074-.117.094a2.019 2.019 0 0 1-.832.403 2.518 2.518 0 0 0-1.008-.211c-1.199 0-2.414.82-3.168 2.14l-.59 1.032c-.41.718-.64 1.523-.64 2.257-.004.953.36 1.758 1.012 2.258.035.152.058.445-.016.785-.04.168-.063.282-.063 1.563 0 1.148 0 1.148.016 1.261l.008.075.015.074c.075.344.047.64.012.8-.644.5-1.004 1.302-.992 2.259.008.726.238 1.52.648 2.242l.59 1.027c.758 1.332 1.965 2.16 3.149 2.16.324 0 .644-.062.937-.187.168.039.492.156.813.418l.11.086.124.07 2.047 1.156.102.059.105.043c.363.144.648.379.766.52.164 1.519 1.718 2.632 3.746 2.632h1.156c2.035 0 3.598-1.133 3.746-2.672.117-.144.402-.394.773-.55l.114-.047.101-.063 1.961-1.156.106-.063.097-.078c.309-.246.653-.37.832-.398.313.136.66.21 1.016.21 1.2 0 2.41-.82 3.164-2.14l.594-1.031c.59-1.028.777-2.164.52-3.117Zm-2.043 2.247-.59 1.031c-.437.766-1.105 1.25-1.636 1.25a.7.7 0 0 1-.371-.094 1.146 1.146 0 0 0-.567-.129c-.593 0-1.382.297-2.007.797l-1.961 1.156c-1.016.426-1.848 1.293-1.848 1.93 0 .64-.898 1.16-1.996 1.16H13.14c-1.102 0-2-.515-2-1.14 0-.63-.832-1.477-1.852-1.887l-2.047-1.16c-.637-.512-1.426-.813-2.008-.813-.199 0-.379.035-.515.114a.648.648 0 0 1-.332.085c-.52 0-1.18-.5-1.621-1.273l-.59-1.031c-.543-.953-.555-1.98-.024-2.285.532-.305.782-1.434.551-2.504V14.8c0-1.09.02-1.18.02-1.18.238-1.074-.008-2.203-.551-2.516-.54-.304-.54-1.34.008-2.293l.59-1.03c.437-.766 1.101-1.255 1.636-1.255a.73.73 0 0 1 .364.094c.152.086.343.125.566.125.594 0 1.379-.297 2.004-.793l1.945-1.066c1.02-.407 1.856-1.278 1.856-1.934 0-.656.898-1.191 2-1.191h1.156c1.098 0 1.996.543 1.996 1.21 0 .669.832 1.555 1.848 1.973L20 6.012c.617.492 1.402.777 2.012.777.242 0 .453-.047.62-.14a.79.79 0 0 1 .403-.102c.55 0 1.223.476 1.652 1.23l.59 1.032c.543.953.52 2.004-.062 2.336-.574.332-.86 1.48-.625 2.554 0 0 .008.04.008 1.102v1.011c-.215 1.051.07 2.176.636 2.5.567.325.586 1.368.04 2.325Zm0 0"/><path d="M13.61 7.61a7.084 7.084 0 0 0-7.083 7.085 7.085 7.085 0 1 0 14.168 0A7.088 7.088 0 0 0 13.61 7.61Zm0 12.41a5.33 5.33 0 0 1-5.325-5.325 5.33 5.33 0 0 1 5.324-5.32 5.327 5.327 0 0 1 5.325 5.32 5.328 5.328 0 0 1-5.325 5.325Zm0 0"/><path d="M13.684 9.906a4.722 4.722 0 0 0-4.72 4.719 4.722 4.722 0 0 0 4.72 4.719 4.724 4.724 0 0 0 4.714-4.719 4.724 4.724 0 0 0-4.714-4.719Zm0 7.676a2.954 2.954 0 1 1 0-5.91 2.953 2.953 0 0 1 2.953 2.953 2.957 2.957 0 0 1-2.953 2.957Zm0 0"/></svg> \ No newline at end of file
diff --git a/tiny_vm/all.html b/tiny_vm/all.html
index 9cc640d..1ba0762 100644
--- a/tiny_vm/all.html
+++ b/tiny_vm/all.html
@@ -1,2 +1 @@
-<!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="List of all items in this crate"><title>List of all items in this crate</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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.Fixup.html">Fixup</a></li><li><a href="struct.PhysAddr.html">PhysAddr</a></li><li><a href="struct.TinyVm.html">TinyVm</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="enum.TinyInsn.html">TinyInsn</a></li><li><a href="enum.TinyReg.html">TinyReg</a></li></ul><h3 id="functions">Functions</h3><ul class="all-items"><li><a href="fn.make_tinyvm_fib.html">make_tinyvm_fib</a></li><li><a href="fn.make_tinyvm_jit_perf.html">make_tinyvm_jit_perf</a></li><li><a href="fn.make_tinyvm_jit_test.html">make_tinyvm_jit_test</a></li></ul></section></div></main></body></html> \ No newline at end of file
+<!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="List of all items in this crate"><title>List of all items in this crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod sys"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h3><a href="#structs">Crate Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.Fixup.html">Fixup</a></li><li><a href="struct.PhysAddr.html">PhysAddr</a></li><li><a href="struct.TinyVm.html">TinyVm</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="enum.TinyInsn.html">TinyInsn</a></li><li><a href="enum.TinyReg.html">TinyReg</a></li></ul><h3 id="functions">Functions</h3><ul class="all-items"><li><a href="fn.make_tinyvm_fib.html">make_tinyvm_fib</a></li><li><a href="fn.make_tinyvm_jit_perf.html">make_tinyvm_jit_perf</a></li><li><a href="fn.make_tinyvm_jit_test.html">make_tinyvm_jit_test</a></li></ul></section></div></main></body></html> \ No newline at end of file
diff --git a/tiny_vm/enum.TinyInsn.html b/tiny_vm/enum.TinyInsn.html
index 6e991f8..7bda7eb 100644
--- a/tiny_vm/enum.TinyInsn.html
+++ b/tiny_vm/enum.TinyInsn.html
@@ -1,33 +1,32 @@
-<!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="The instructions for the `TinyVm`."><title>TinyInsn in tiny_vm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">TinyInsn</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Add">Add</a></li><li><a href="#variant.Addi">Addi</a></li><li><a href="#variant.Branch">Branch</a></li><li><a href="#variant.BranchZero">BranchZero</a></li><li><a href="#variant.Halt">Halt</a></li><li><a href="#variant.Load">Load</a></li><li><a href="#variant.LoadImm">LoadImm</a></li><li><a href="#variant.Store">Store</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-TinyInsn">Clone</a></li><li><a href="#impl-Copy-for-TinyInsn">Copy</a></li><li><a href="#impl-Debug-for-TinyInsn">Debug</a></li><li><a href="#impl-PartialEq-for-TinyInsn">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-TinyInsn">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-TinyInsn">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TinyInsn">Send</a></li><li><a href="#impl-Sync-for-TinyInsn">Sync</a></li><li><a href="#impl-Unpin-for-TinyInsn">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TinyInsn">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate tiny_vm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Enum <a href="index.html">tiny_vm</a>::<wbr><a class="enum" href="#">TinyInsn</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/tiny_vm/tiny_vm.rs.html#69-86">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum TinyInsn {
+<!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="The instructions for the `TinyVm`."><title>TinyInsn in tiny_vm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 enum"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Tiny<wbr>Insn</a></h2><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Add" title="Add">Add</a></li><li><a href="#variant.Addi" title="Addi">Addi</a></li><li><a href="#variant.Branch" title="Branch">Branch</a></li><li><a href="#variant.BranchZero" title="BranchZero">BranchZero</a></li><li><a href="#variant.Halt" title="Halt">Halt</a></li><li><a href="#variant.Load" title="Load">Load</a></li><li><a href="#variant.LoadImm" title="LoadImm">LoadImm</a></li><li><a href="#variant.Store" title="Store">Store</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-TinyInsn" title="Clone">Clone</a></li><li><a href="#impl-Copy-for-TinyInsn" title="Copy">Copy</a></li><li><a href="#impl-Debug-for-TinyInsn" title="Debug">Debug</a></li><li><a href="#impl-PartialEq-for-TinyInsn" title="PartialEq">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-TinyInsn" title="StructuralPartialEq">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-TinyInsn" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TinyInsn" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TinyInsn" title="Send">Send</a></li><li><a href="#impl-Sync-for-TinyInsn" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-TinyInsn" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TinyInsn" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate tiny_<wbr>vm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">tiny_vm</a></span><h1>Enum <span class="enum">TinyInsn</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/tiny_vm/tiny_vm.rs.html#69-86">source</a> </span></div><pre class="rust item-decl"><code>pub enum TinyInsn {
Halt,
- LoadImm(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>),
- Load(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>),
- Store(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>),
+ LoadImm(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>),
+ Load(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>),
+ Store(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>),
Add(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>),
- Addi(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i16.html">i16</a>),
- Branch(<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>),
- BranchZero(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>),
+ Addi(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i16.html">i16</a>),
+ Branch(<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.usize.html">usize</a>),
+ BranchZero(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.usize.html">usize</a>),
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The instructions for the <a href="struct.TinyVm.html" title="struct tiny_vm::TinyVm"><code>TinyVm</code></a>.</p>
</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Halt" class="variant"><a href="#variant.Halt" class="anchor">§</a><h3 class="code-header">Halt</h3></section><div class="docblock"><p>Halt the VM.</p>
-</div><section id="variant.LoadImm" class="variant"><a href="#variant.LoadImm" class="anchor">§</a><h3 class="code-header">LoadImm(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>)</h3></section><div class="docblock"><p>Load the immediate value into the register <code>reg = imm</code>.</p>
-</div><section id="variant.Load" class="variant"><a href="#variant.Load" class="anchor">§</a><h3 class="code-header">Load(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>)</h3></section><div class="docblock"><p>Load a value from the memory (absolute addressing) into the register <code>reg = mem[imm]</code>.</p>
-</div><section id="variant.Store" class="variant"><a href="#variant.Store" class="anchor">§</a><h3 class="code-header">Store(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>)</h3></section><div class="docblock"><p>Store a value from the register into the memory (absolute addressing) <code>mem[imm] = reg</code>.</p>
+</div><section id="variant.LoadImm" class="variant"><a href="#variant.LoadImm" class="anchor">§</a><h3 class="code-header">LoadImm(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>)</h3></section><div class="docblock"><p>Load the immediate value into the register <code>reg = imm</code>.</p>
+</div><section id="variant.Load" class="variant"><a href="#variant.Load" class="anchor">§</a><h3 class="code-header">Load(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>)</h3></section><div class="docblock"><p>Load a value from the memory (absolute addressing) into the register <code>reg = mem[imm]</code>.</p>
+</div><section id="variant.Store" class="variant"><a href="#variant.Store" class="anchor">§</a><h3 class="code-header">Store(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>)</h3></section><div class="docblock"><p>Store a value from the register into the memory (absolute addressing) <code>mem[imm] = reg</code>.</p>
</div><section id="variant.Add" class="variant"><a href="#variant.Add" class="anchor">§</a><h3 class="code-header">Add(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>)</h3></section><div class="docblock"><p>Add the register to the register <code>reg1 += reg2</code>.</p>
-</div><section id="variant.Addi" class="variant"><a href="#variant.Addi" class="anchor">§</a><h3 class="code-header">Addi(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.i16.html">i16</a>)</h3></section><div class="docblock"><p>Add the immediate to the register <code>reg += imm</code>.</p>
-</div><section id="variant.Branch" class="variant"><a href="#variant.Branch" class="anchor">§</a><h3 class="code-header">Branch(<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>)</h3></section><div class="docblock"><p>Jump unconditional (absolute addressing) <code>pc = disp</code>.</p>
-</div><section id="variant.BranchZero" class="variant"><a href="#variant.BranchZero" class="anchor">§</a><h3 class="code-header">BranchZero(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>)</h3></section><div class="docblock"><p>Jump if the register is zero (absolute addressing) <code>pc = (reg == 0) ? disp : pc++</code>.</p>
-</div></div><h2 id="trait-implementations" class="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-Clone-for-TinyInsn" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#impl-Clone-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.76.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-TinyInsn" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#impl-Debug-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</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/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.76.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-TinyInsn" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#impl-PartialEq-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</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/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/cmp.rs.html#242">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.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-Copy-for-TinyInsn" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#impl-Copy-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section><section id="impl-StructuralPartialEq-for-TinyInsn" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#impl-StructuralPartialEq-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-TinyInsn" class="impl"><a href="#impl-RefUnwindSafe-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section><section id="impl-Send-for-TinyInsn" class="impl"><a href="#impl-Send-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section><section id="impl-Sync-for-TinyInsn" class="impl"><a href="#impl-Sync-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section><section id="impl-Unpin-for-TinyInsn" class="impl"><a href="#impl-Unpin-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section><section id="impl-UnwindSafe-for-TinyInsn" class="impl"><a href="#impl-UnwindSafe-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+</div><section id="variant.Addi" class="variant"><a href="#variant.Addi" class="anchor">§</a><h3 class="code-header">Addi(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.i16.html">i16</a>)</h3></section><div class="docblock"><p>Add the immediate to the register <code>reg += imm</code>.</p>
+</div><section id="variant.Branch" class="variant"><a href="#variant.Branch" class="anchor">§</a><h3 class="code-header">Branch(<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.usize.html">usize</a>)</h3></section><div class="docblock"><p>Jump unconditional (absolute addressing) <code>pc = disp</code>.</p>
+</div><section id="variant.BranchZero" class="variant"><a href="#variant.BranchZero" class="anchor">§</a><h3 class="code-header">BranchZero(<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.usize.html">usize</a>)</h3></section><div class="docblock"><p>Jump if the register is zero (absolute addressing) <code>pc = (reg == 0) ? disp : pc++</code>.</p>
+</div></div><h2 id="trait-implementations" class="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-Clone-for-TinyInsn" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#impl-Clone-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.83.0/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-TinyInsn" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#impl-Debug-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</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/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.83.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.83.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-TinyInsn" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#impl-PartialEq-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</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/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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.83.0/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-Copy-for-TinyInsn" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#impl-Copy-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section><section id="impl-StructuralPartialEq-for-TinyInsn" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#68">source</a><a href="#impl-StructuralPartialEq-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-TinyInsn" class="impl"><a href="#impl-Freeze-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section><section id="impl-RefUnwindSafe-for-TinyInsn" class="impl"><a href="#impl-RefUnwindSafe-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section><section id="impl-Send-for-TinyInsn" class="impl"><a href="#impl-Send-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section><section id="impl-Sync-for-TinyInsn" class="impl"><a href="#impl-Sync-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section><section id="impl-Unpin-for-TinyInsn" class="impl"><a href="#impl-Unpin-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section><section id="impl-UnwindSafe-for-TinyInsn" class="impl"><a href="#impl-UnwindSafe-for-TinyInsn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#273">source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.pointer.html">*mut T</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
- T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/tiny_vm/enum.TinyReg.html b/tiny_vm/enum.TinyReg.html
index 242b768..32c8b16 100644
--- a/tiny_vm/enum.TinyReg.html
+++ b/tiny_vm/enum.TinyReg.html
@@ -1,20 +1,19 @@
-<!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="The registers for the `TinyVm`."><title>TinyReg in tiny_vm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">TinyReg</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.A">A</a></li><li><a href="#variant.B">B</a></li><li><a href="#variant.C">C</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-TinyReg">Clone</a></li><li><a href="#impl-Copy-for-TinyReg">Copy</a></li><li><a href="#impl-Debug-for-TinyReg">Debug</a></li><li><a href="#impl-PartialEq-for-TinyReg">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-TinyReg">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-TinyReg">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TinyReg">Send</a></li><li><a href="#impl-Sync-for-TinyReg">Sync</a></li><li><a href="#impl-Unpin-for-TinyReg">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TinyReg">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate tiny_vm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Enum <a href="index.html">tiny_vm</a>::<wbr><a class="enum" href="#">TinyReg</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/tiny_vm/tiny_vm.rs.html#54-58">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum TinyReg {
+<!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="The registers for the `TinyVm`."><title>TinyReg in tiny_vm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 enum"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">TinyReg</a></h2><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.A" title="A">A</a></li><li><a href="#variant.B" title="B">B</a></li><li><a href="#variant.C" title="C">C</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-TinyReg" title="Clone">Clone</a></li><li><a href="#impl-Copy-for-TinyReg" title="Copy">Copy</a></li><li><a href="#impl-Debug-for-TinyReg" title="Debug">Debug</a></li><li><a href="#impl-PartialEq-for-TinyReg" title="PartialEq">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-TinyReg" title="StructuralPartialEq">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-TinyReg" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TinyReg" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TinyReg" title="Send">Send</a></li><li><a href="#impl-Sync-for-TinyReg" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-TinyReg" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TinyReg" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate tiny_<wbr>vm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">tiny_vm</a></span><h1>Enum <span class="enum">TinyReg</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/tiny_vm/tiny_vm.rs.html#54-58">source</a> </span></div><pre class="rust item-decl"><code>pub enum TinyReg {
A,
B,
C,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The registers for the <a href="struct.TinyVm.html" title="struct tiny_vm::TinyVm"><code>TinyVm</code></a>.</p>
-</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.A" class="variant"><a href="#variant.A" class="anchor">§</a><h3 class="code-header">A</h3></section><section id="variant.B" class="variant"><a href="#variant.B" class="anchor">§</a><h3 class="code-header">B</h3></section><section id="variant.C" class="variant"><a href="#variant.C" class="anchor">§</a><h3 class="code-header">C</h3></section></div><h2 id="trait-implementations" class="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-Clone-for-TinyReg" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#impl-Clone-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.76.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-TinyReg" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#impl-Debug-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</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/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.76.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-TinyReg" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#impl-PartialEq-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</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/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/cmp.rs.html#242">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.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-Copy-for-TinyReg" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#impl-Copy-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section><section id="impl-StructuralPartialEq-for-TinyReg" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#impl-StructuralPartialEq-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-TinyReg" class="impl"><a href="#impl-RefUnwindSafe-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section><section id="impl-Send-for-TinyReg" class="impl"><a href="#impl-Send-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section><section id="impl-Sync-for-TinyReg" class="impl"><a href="#impl-Sync-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section><section id="impl-Unpin-for-TinyReg" class="impl"><a href="#impl-Unpin-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section><section id="impl-UnwindSafe-for-TinyReg" class="impl"><a href="#impl-UnwindSafe-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+</div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.A" class="variant"><a href="#variant.A" class="anchor">§</a><h3 class="code-header">A</h3></section><section id="variant.B" class="variant"><a href="#variant.B" class="anchor">§</a><h3 class="code-header">B</h3></section><section id="variant.C" class="variant"><a href="#variant.C" class="anchor">§</a><h3 class="code-header">C</h3></section></div><h2 id="trait-implementations" class="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-Clone-for-TinyReg" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#impl-Clone-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" 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.83.0/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-TinyReg" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#impl-Debug-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</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/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.83.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.83.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-TinyReg" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#impl-PartialEq-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</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/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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.83.0/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-Copy-for-TinyReg" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#impl-Copy-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section><section id="impl-StructuralPartialEq-for-TinyReg" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#53">source</a><a href="#impl-StructuralPartialEq-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-TinyReg" class="impl"><a href="#impl-Freeze-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section><section id="impl-RefUnwindSafe-for-TinyReg" class="impl"><a href="#impl-RefUnwindSafe-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section><section id="impl-Send-for-TinyReg" class="impl"><a href="#impl-Send-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section><section id="impl-Sync-for-TinyReg" class="impl"><a href="#impl-Sync-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section><section id="impl-Unpin-for-TinyReg" class="impl"><a href="#impl-Unpin-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section><section id="impl-UnwindSafe-for-TinyReg" class="impl"><a href="#impl-UnwindSafe-for-TinyReg" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#273">source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.pointer.html">*mut T</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
- T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
+ T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/tiny_vm/fn.make_tinyvm_fib.html b/tiny_vm/fn.make_tinyvm_fib.html
index 0c8dff8..a9396d3 100644
--- a/tiny_vm/fn.make_tinyvm_fib.html
+++ b/tiny_vm/fn.make_tinyvm_fib.html
@@ -1,3 +1,2 @@
-<!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="Generate a guest program to compute the fiibonacci sequence for `n`."><title>make_tinyvm_fib in tiny_vm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Function <a href="index.html">tiny_vm</a>::<wbr><a class="fn" href="#">make_tinyvm_fib</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/tiny_vm/tiny_vm.rs.html#381-457">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn make_tinyvm_fib(start_n: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Generate a guest program to compute the fiibonacci sequence for <code>n</code>.</p>
+<!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="Generate a guest program to compute the fiibonacci sequence for `n`."><title>make_tinyvm_fib in tiny_vm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 fn"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">tiny_vm</a></span><h1>Function <span class="fn">make_tinyvm_fib</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/tiny_vm/tiny_vm.rs.html#381-457">source</a> </span></div><pre class="rust item-decl"><code>pub fn make_tinyvm_fib(start_n: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Generate a guest program to compute the fiibonacci sequence for <code>n</code>.</p>
</div></details></section></div></main></body></html> \ No newline at end of file
diff --git a/tiny_vm/fn.make_tinyvm_jit_perf.html b/tiny_vm/fn.make_tinyvm_jit_perf.html
index 76e6f00..c73c681 100644
--- a/tiny_vm/fn.make_tinyvm_jit_perf.html
+++ b/tiny_vm/fn.make_tinyvm_jit_perf.html
@@ -1,3 +1,2 @@
-<!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="Generate a simple count down loop to crunch some instructions."><title>make_tinyvm_jit_perf in tiny_vm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Function <a href="index.html">tiny_vm</a>::<wbr><a class="fn" href="#">make_tinyvm_jit_perf</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/tiny_vm/tiny_vm.rs.html#487-498">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn make_tinyvm_jit_perf() -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Generate a simple count down loop to crunch some instructions.</p>
+<!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="Generate a simple count down loop to crunch some instructions."><title>make_tinyvm_jit_perf in tiny_vm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 fn"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">tiny_vm</a></span><h1>Function <span class="fn">make_tinyvm_jit_perf</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/tiny_vm/tiny_vm.rs.html#487-498">source</a> </span></div><pre class="rust item-decl"><code>pub fn make_tinyvm_jit_perf() -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Generate a simple count down loop to crunch some instructions.</p>
</div></details></section></div></main></body></html> \ No newline at end of file
diff --git a/tiny_vm/fn.make_tinyvm_jit_test.html b/tiny_vm/fn.make_tinyvm_jit_test.html
index e30ab34..5fe62cf 100644
--- a/tiny_vm/fn.make_tinyvm_jit_test.html
+++ b/tiny_vm/fn.make_tinyvm_jit_test.html
@@ -1,3 +1,2 @@
-<!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="Generate a test program for the jit."><title>make_tinyvm_jit_test in tiny_vm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Function <a href="index.html">tiny_vm</a>::<wbr><a class="fn" href="#">make_tinyvm_jit_test</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/tiny_vm/tiny_vm.rs.html#460-484">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub fn make_tinyvm_jit_test() -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Generate a test program for the jit.</p>
+<!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="Generate a test program for the jit."><title>make_tinyvm_jit_test in tiny_vm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 fn"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">tiny_vm</a></span><h1>Function <span class="fn">make_tinyvm_jit_test</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/tiny_vm/tiny_vm.rs.html#460-484">source</a> </span></div><pre class="rust item-decl"><code>pub fn make_tinyvm_jit_test() -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Generate a test program for the jit.</p>
</div></details></section></div></main></body></html> \ No newline at end of file
diff --git a/tiny_vm/index.html b/tiny_vm/index.html
index 72eb51e..9cb7f75 100644
--- a/tiny_vm/index.html
+++ b/tiny_vm/index.html
@@ -1,6 +1,4 @@
-<!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="TinyVm example."><title>tiny_vm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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 mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block">
- <li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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>Crate <a class="mod" href="#">tiny_vm</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/tiny_vm/tiny_vm.rs.html#1-705">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>TinyVm example.</p>
+<!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="TinyVm example."><title>tiny_vm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 mod crate"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#structs">Crate Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>tiny_vm</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/tiny_vm/tiny_vm.rs.html#1-705">source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>TinyVm example.</p>
<p>This example introduces a simple 16 bit virtual machine the <a href="struct.TinyVm.html" title="struct tiny_vm::TinyVm"><code>TinyVm</code></a>. The VM consists of
three registers defined in <a href="enum.TinyReg.html" title="enum tiny_vm::TinyReg"><code>TinyReg</code></a>, a separate <em>data</em> and <em>instruction</em> memory and a small
set of instructions <a href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn"><code>TinyInsn</code></a>, sufficient to implement a guest program to compute the
@@ -33,4 +31,4 @@ Fibonacci sequence.</p>
<span class="macro">assert_eq!</span>(<span class="number">8</span>, vm.icnt);
<span class="macro">assert_eq!</span>(<span class="number">4</span>, vm.pc);
}</code></pre></div>
-</div></details><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></div><div class="desc docblock-short">A minial fixup utility to implement jump labels when constructing guest programs.</div></li><li><div class="item-name"><a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></div><div class="desc docblock-short">A guest physical address.</div></li><li><div class="item-name"><a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></div><div class="desc docblock-short">The <code>TinyVm</code> virtual machine state.</div></li></ul><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a></div><div class="desc docblock-short">The instructions for the <a href="struct.TinyVm.html" title="struct tiny_vm::TinyVm"><code>TinyVm</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></div><div class="desc docblock-short">The registers for the <a href="struct.TinyVm.html" title="struct tiny_vm::TinyVm"><code>TinyVm</code></a>.</div></li></ul><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.make_tinyvm_fib.html" title="fn tiny_vm::make_tinyvm_fib">make_tinyvm_fib</a></div><div class="desc docblock-short">Generate a guest program to compute the fiibonacci sequence for <code>n</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.make_tinyvm_jit_perf.html" title="fn tiny_vm::make_tinyvm_jit_perf">make_tinyvm_jit_perf</a></div><div class="desc docblock-short">Generate a simple count down loop to crunch some instructions.</div></li><li><div class="item-name"><a class="fn" href="fn.make_tinyvm_jit_test.html" title="fn tiny_vm::make_tinyvm_jit_test">make_tinyvm_jit_test</a></div><div class="desc docblock-short">Generate a test program for the jit.</div></li></ul></section></div></main></body></html> \ No newline at end of file
+</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></div><div class="desc docblock-short">A minial fixup utility to implement jump labels when constructing guest programs.</div></li><li><div class="item-name"><a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">Phys<wbr>Addr</a></div><div class="desc docblock-short">A guest physical address.</div></li><li><div class="item-name"><a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></div><div class="desc docblock-short">The <code>TinyVm</code> virtual machine state.</div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">Tiny<wbr>Insn</a></div><div class="desc docblock-short">The instructions for the <a href="struct.TinyVm.html" title="struct tiny_vm::TinyVm"><code>TinyVm</code></a>.</div></li><li><div class="item-name"><a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a></div><div class="desc docblock-short">The registers for the <a href="struct.TinyVm.html" title="struct tiny_vm::TinyVm"><code>TinyVm</code></a>.</div></li></ul><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.make_tinyvm_fib.html" title="fn tiny_vm::make_tinyvm_fib">make_<wbr>tinyvm_<wbr>fib</a></div><div class="desc docblock-short">Generate a guest program to compute the fiibonacci sequence for <code>n</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.make_tinyvm_jit_perf.html" title="fn tiny_vm::make_tinyvm_jit_perf">make_<wbr>tinyvm_<wbr>jit_<wbr>perf</a></div><div class="desc docblock-short">Generate a simple count down loop to crunch some instructions.</div></li><li><div class="item-name"><a class="fn" href="fn.make_tinyvm_jit_test.html" title="fn tiny_vm::make_tinyvm_jit_test">make_<wbr>tinyvm_<wbr>jit_<wbr>test</a></div><div class="desc docblock-short">Generate a test program for the jit.</div></li></ul></section></div></main></body></html> \ No newline at end of file
diff --git a/tiny_vm/struct.Fixup.html b/tiny_vm/struct.Fixup.html
index d7376ec..8fae58d 100644
--- a/tiny_vm/struct.Fixup.html
+++ b/tiny_vm/struct.Fixup.html
@@ -1,15 +1,14 @@
-<!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 minial fixup utility to implement jump labels when constructing guest programs."><title>Fixup in tiny_vm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Fixup</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.bind">bind</a></li><li><a href="#method.new">new</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Fixup">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Fixup">Send</a></li><li><a href="#impl-Sync-for-Fixup">Sync</a></li><li><a href="#impl-Unpin-for-Fixup">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Fixup">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate tiny_vm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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">tiny_vm</a>::<wbr><a class="struct" href="#">Fixup</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/tiny_vm/tiny_vm.rs.html#351-353">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Fixup { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A minial fixup utility to implement jump labels when constructing guest programs.</p>
-</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Fixup" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#355-378">source</a><a href="#impl-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</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/tiny_vm/tiny_vm.rs.html#357-359">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(pc: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <code>Fixup</code> at the current pc.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.bind" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#362-377">source</a><h4 class="code-header">pub fn <a href="#method.bind" class="fn">bind</a>(self, prog: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>&gt;)</h4></section></summary><div class="docblock"><p>Bind the <code>Fixup</code> to the current location of <code>prog</code> and resolve the <code>Fixup</code>.</p>
-</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Fixup" class="impl"><a href="#impl-RefUnwindSafe-for-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></h3></section><section id="impl-Send-for-Fixup" class="impl"><a href="#impl-Send-for-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></h3></section><section id="impl-Sync-for-Fixup" class="impl"><a href="#impl-Sync-for-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></h3></section><section id="impl-Unpin-for-Fixup" class="impl"><a href="#impl-Unpin-for-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></h3></section><section id="impl-UnwindSafe-for-Fixup" class="impl"><a href="#impl-UnwindSafe-for-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<!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 minial fixup utility to implement jump labels when constructing guest programs."><title>Fixup in tiny_vm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Fixup</a></h2><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.bind" title="bind">bind</a></li><li><a href="#method.new" title="new">new</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Fixup" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Fixup" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Fixup" title="Send">Send</a></li><li><a href="#impl-Sync-for-Fixup" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Fixup" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Fixup" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate tiny_<wbr>vm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">tiny_vm</a></span><h1>Struct <span class="struct">Fixup</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/tiny_vm/tiny_vm.rs.html#351-353">source</a> </span></div><pre class="rust item-decl"><code>pub struct Fixup { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A minial fixup utility to implement jump labels when constructing guest programs.</p>
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Fixup" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#355-378">source</a><a href="#impl-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</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/tiny_vm/tiny_vm.rs.html#357-359">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(pc: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.usize.html">usize</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <code>Fixup</code> at the current pc.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.bind" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#362-377">source</a><h4 class="code-header">pub fn <a href="#method.bind" class="fn">bind</a>(self, prog: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.83.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>&gt;)</h4></section></summary><div class="docblock"><p>Bind the <code>Fixup</code> to the current location of <code>prog</code> and resolve the <code>Fixup</code>.</p>
+</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Fixup" class="impl"><a href="#impl-Freeze-for-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></h3></section><section id="impl-RefUnwindSafe-for-Fixup" class="impl"><a href="#impl-RefUnwindSafe-for-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></h3></section><section id="impl-Send-for-Fixup" class="impl"><a href="#impl-Send-for-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></h3></section><section id="impl-Sync-for-Fixup" class="impl"><a href="#impl-Sync-for-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></h3></section><section id="impl-Unpin-for-Fixup" class="impl"><a href="#impl-Unpin-for-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></h3></section><section id="impl-UnwindSafe-for-Fixup" class="impl"><a href="#impl-UnwindSafe-for-Fixup" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Fixup.html" title="struct tiny_vm::Fixup">Fixup</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/tiny_vm/struct.PhysAddr.html b/tiny_vm/struct.PhysAddr.html
index adf56e4..90f6c10 100644
--- a/tiny_vm/struct.PhysAddr.html
+++ b/tiny_vm/struct.PhysAddr.html
@@ -1,13 +1,12 @@
-<!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 guest physical address."><title>PhysAddr in tiny_vm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">PhysAddr</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Tuple Fields</a></h3><ul class="block structfield"><li><a href="#structfield.0">0</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Into%3Cusize%3E-for-PhysAddr">Into&lt;usize&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-PhysAddr">RefUnwindSafe</a></li><li><a href="#impl-Send-for-PhysAddr">Send</a></li><li><a href="#impl-Sync-for-PhysAddr">Sync</a></li><li><a href="#impl-Unpin-for-PhysAddr">Unpin</a></li><li><a href="#impl-UnwindSafe-for-PhysAddr">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate tiny_vm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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">tiny_vm</a>::<wbr><a class="struct" href="#">PhysAddr</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/tiny_vm/tiny_vm.rs.html#44">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct PhysAddr(pub <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A guest physical address.</p>
-</div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a></code></span><h2 id="trait-implementations" class="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-Into%3Cusize%3E-for-PhysAddr" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#46-50">source</a><a href="#impl-Into%3Cusize%3E-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>&gt; for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></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="../src/tiny_vm/tiny_vm.rs.html#47-49">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Converts this type into the (usually inferred) input type.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-PhysAddr" class="impl"><a href="#impl-RefUnwindSafe-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></h3></section><section id="impl-Send-for-PhysAddr" class="impl"><a href="#impl-Send-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></h3></section><section id="impl-Sync-for-PhysAddr" class="impl"><a href="#impl-Sync-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></h3></section><section id="impl-Unpin-for-PhysAddr" class="impl"><a href="#impl-Unpin-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></h3></section><section id="impl-UnwindSafe-for-PhysAddr" class="impl"><a href="#impl-UnwindSafe-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<!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 guest physical address."><title>PhysAddr in tiny_vm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Phys<wbr>Addr</a></h2><h3><a href="#fields">Tuple Fields</a></h3><ul class="block structfield"><li><a href="#structfield.0" title="0">0</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Into%3Cusize%3E-for-PhysAddr" title="Into&#60;usize&#62;">Into&#60;usize&#62;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-PhysAddr" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-PhysAddr" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-PhysAddr" title="Send">Send</a></li><li><a href="#impl-Sync-for-PhysAddr" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-PhysAddr" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-PhysAddr" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate tiny_<wbr>vm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">tiny_vm</a></span><h1>Struct <span class="struct">PhysAddr</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/tiny_vm/tiny_vm.rs.html#44">source</a> </span></div><pre class="rust item-decl"><code>pub struct PhysAddr(pub <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A guest physical address.</p>
+</div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a></code></span><h2 id="trait-implementations" class="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-Into%3Cusize%3E-for-PhysAddr" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#46-50">source</a><a href="#impl-Into%3Cusize%3E-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.usize.html">usize</a>&gt; for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></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="../src/tiny_vm/tiny_vm.rs.html#47-49">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Converts this type into the (usually inferred) input type.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-PhysAddr" class="impl"><a href="#impl-Freeze-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></h3></section><section id="impl-RefUnwindSafe-for-PhysAddr" class="impl"><a href="#impl-RefUnwindSafe-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></h3></section><section id="impl-Send-for-PhysAddr" class="impl"><a href="#impl-Send-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></h3></section><section id="impl-Sync-for-PhysAddr" class="impl"><a href="#impl-Sync-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></h3></section><section id="impl-Unpin-for-PhysAddr" class="impl"><a href="#impl-Unpin-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></h3></section><section id="impl-UnwindSafe-for-PhysAddr" class="impl"><a href="#impl-UnwindSafe-for-PhysAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/tiny_vm/struct.TinyVm.html b/tiny_vm/struct.TinyVm.html
index 8c5171d..bfb8624 100644
--- a/tiny_vm/struct.TinyVm.html
+++ b/tiny_vm/struct.TinyVm.html
@@ -1,22 +1,21 @@
-<!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="The `TinyVm` virtual machine state."><title>TinyVm in tiny_vm - 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/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-feafe1bb7466e4bd.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">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">TinyVm</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.dump">dump</a></li><li><a href="#method.interp">interp</a></li><li><a href="#method.jit">jit</a></li><li><a href="#method.new">new</a></li><li><a href="#method.read_mem">read_mem</a></li><li><a href="#method.read_reg">read_reg</a></li><li><a href="#method.write_mem">write_mem</a></li><li><a href="#method.write_reg">write_reg</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Send-for-TinyVm">!Send</a></li><li><a href="#impl-Sync-for-TinyVm">!Sync</a></li><li><a href="#impl-RefUnwindSafe-for-TinyVm">RefUnwindSafe</a></li><li><a href="#impl-Unpin-for-TinyVm">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TinyVm">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate tiny_vm</a></h2></div></nav><div class="sidebar-resizer"></div>
- <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../tiny_vm/all.html" title="show sidebar"></a></div><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" tabindex="-1"><a href="../help.html" title="help">?</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">tiny_vm</a>::<wbr><a class="struct" href="#">TinyVm</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/tiny_vm/tiny_vm.rs.html#109-130">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct TinyVm { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The <code>TinyVm</code> virtual machine state.</p>
-</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-TinyVm" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#132-348">source</a><a href="#impl-TinyVm" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</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/tiny_vm/tiny_vm.rs.html#134-150">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(code: <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.TinyVm.html" title="struct tiny_vm::TinyVm"><code>TinyVm</code></a> and initialize the instruction memory from <code>code</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.read_reg" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#154-156">source</a><h4 class="code-header">pub fn <a href="#method.read_reg" class="fn">read_reg</a>(&amp;self, reg: <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a></h4></section></summary><div class="docblock"><p>Read guest register.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.write_reg" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#160-162">source</a><h4 class="code-header">pub fn <a href="#method.write_reg" class="fn">write_reg</a>(&amp;mut self, reg: <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, val: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>)</h4></section></summary><div class="docblock"><p>Write guest register.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.read_mem" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#166-170">source</a><h4 class="code-header">pub fn <a href="#method.read_mem" class="fn">read_mem</a>(&amp;self, paddr: <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a></h4></section></summary><div class="docblock"><p>Read guest data memory.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.write_mem" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#174-177">source</a><h4 class="code-header">pub fn <a href="#method.write_mem" class="fn">write_mem</a>(&amp;mut self, paddr: <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a>, val: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u16.html">u16</a>)</h4></section></summary><div class="docblock"><p>Write guest data memory.</p>
+<!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="The `TinyVm` virtual machine state."><title>TinyVm in tiny_vm - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="tiny_vm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../tiny_vm/index.html">tiny_vm</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">TinyVm</a></h2><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.dump" title="dump">dump</a></li><li><a href="#method.interp" title="interp">interp</a></li><li><a href="#method.jit" title="jit">jit</a></li><li><a href="#method.new" title="new">new</a></li><li><a href="#method.read_mem" title="read_mem">read_mem</a></li><li><a href="#method.read_reg" title="read_reg">read_reg</a></li><li><a href="#method.write_mem" title="write_mem">write_mem</a></li><li><a href="#method.write_reg" title="write_reg">write_reg</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Send-for-TinyVm" title="!Send">!Send</a></li><li><a href="#impl-Sync-for-TinyVm" title="!Sync">!Sync</a></li><li><a href="#impl-Freeze-for-TinyVm" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TinyVm" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Unpin-for-TinyVm" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TinyVm" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate tiny_<wbr>vm</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">tiny_vm</a></span><h1>Struct <span class="struct">TinyVm</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/tiny_vm/tiny_vm.rs.html#109-130">source</a> </span></div><pre class="rust item-decl"><code>pub struct TinyVm { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The <code>TinyVm</code> virtual machine state.</p>
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-TinyVm" class="impl"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#132-348">source</a><a href="#impl-TinyVm" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</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/tiny_vm/tiny_vm.rs.html#134-150">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(code: <a class="struct" href="https://doc.rust-lang.org/1.83.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.TinyInsn.html" title="enum tiny_vm::TinyInsn">TinyInsn</a>&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a new <a href="struct.TinyVm.html" title="struct tiny_vm::TinyVm"><code>TinyVm</code></a> and initialize the instruction memory from <code>code</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.read_reg" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#154-156">source</a><h4 class="code-header">pub fn <a href="#method.read_reg" class="fn">read_reg</a>(&amp;self, reg: <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a></h4></section></summary><div class="docblock"><p>Read guest register.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.write_reg" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#160-162">source</a><h4 class="code-header">pub fn <a href="#method.write_reg" class="fn">write_reg</a>(&amp;mut self, reg: <a class="enum" href="enum.TinyReg.html" title="enum tiny_vm::TinyReg">TinyReg</a>, val: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>)</h4></section></summary><div class="docblock"><p>Write guest register.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.read_mem" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#166-170">source</a><h4 class="code-header">pub fn <a href="#method.read_mem" class="fn">read_mem</a>(&amp;self, paddr: <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a></h4></section></summary><div class="docblock"><p>Read guest data memory.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.write_mem" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#174-177">source</a><h4 class="code-header">pub fn <a href="#method.write_mem" class="fn">write_mem</a>(&amp;mut self, paddr: <a class="struct" href="struct.PhysAddr.html" title="struct tiny_vm::PhysAddr">PhysAddr</a>, val: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.u16.html">u16</a>)</h4></section></summary><div class="docblock"><p>Write guest data memory.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.dump" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#180-190">source</a><h4 class="code-header">pub fn <a href="#method.dump" class="fn">dump</a>(&amp;self)</h4></section></summary><div class="docblock"><p>Dump the VM state to stdout.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.interp" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#193-234">source</a><h4 class="code-header">pub fn <a href="#method.interp" class="fn">interp</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Run in interpreter mode until the next <a href="enum.TinyInsn.html#variant.Halt" title="variant tiny_vm::TinyInsn::Halt"><code>TinyInsn::Halt</code></a> instruction is hit.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.jit" class="method"><a class="src rightside" href="../src/tiny_vm/tiny_vm.rs.html#238-263">source</a><h4 class="code-header">pub fn <a href="#method.jit" class="fn">jit</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Run in JIT mode until the next <a href="enum.TinyInsn.html#variant.Halt" title="variant tiny_vm::TinyInsn::Halt"><code>TinyInsn::Halt</code></a> instruction is hit. Translate guest
<em>basic blocks</em> on demand.</p>
-</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-TinyVm" class="impl"><a href="#impl-RefUnwindSafe-for-TinyVm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></h3></section><section id="impl-Send-for-TinyVm" class="impl"><a href="#impl-Send-for-TinyVm" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></h3></section><section id="impl-Sync-for-TinyVm" class="impl"><a href="#impl-Sync-for-TinyVm" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></h3></section><section id="impl-Unpin-for-TinyVm" class="impl"><a href="#impl-Unpin-for-TinyVm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></h3></section><section id="impl-UnwindSafe-for-TinyVm" class="impl"><a href="#impl-UnwindSafe-for-TinyVm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
- T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
- T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-TinyVm" class="impl"><a href="#impl-Freeze-for-TinyVm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></h3></section><section id="impl-RefUnwindSafe-for-TinyVm" class="impl"><a href="#impl-RefUnwindSafe-for-TinyVm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></h3></section><section id="impl-Send-for-TinyVm" class="impl"><a href="#impl-Send-for-TinyVm" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></h3></section><section id="impl-Sync-for-TinyVm" class="impl"><a href="#impl-Sync-for-TinyVm" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></h3></section><section id="impl-Unpin-for-TinyVm" class="impl"><a href="#impl-Unpin-for-TinyVm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></h3></section><section id="impl-UnwindSafe-for-TinyVm" class="impl"><a href="#impl-UnwindSafe-for-TinyVm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.TinyVm.html" title="struct tiny_vm::TinyVm">TinyVm</a></h3></section></div><h2 id="blanket-implementations" class="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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
+ T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
+ T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; 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-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></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.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
-<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
-</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
- U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></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.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
+<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
+ U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.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.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> \ No newline at end of file
diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js
index e05a216..6c6477b 100644
--- a/trait.impl/core/clone/trait.Clone.js
+++ b/trait.impl/core/clone/trait.Clone.js
@@ -1,4 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>"]],
-"tiny_vm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>"]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>"]]],["tiny_vm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>"]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[1255,505]} \ No newline at end of file
diff --git a/trait.impl/core/cmp/trait.PartialEq.js b/trait.impl/core/cmp/trait.PartialEq.js
index 5ae4a47..e029107 100644
--- a/trait.impl/core/cmp/trait.PartialEq.js
+++ b/trait.impl/core/cmp/trait.PartialEq.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"tiny_vm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>"]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["tiny_vm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>"]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[520]} \ No newline at end of file
diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js
index 1dac99b..5fc6ea2 100644
--- a/trait.impl/core/convert/trait.From.js
+++ b/trait.impl/core/convert/trait.From.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.i16.html\">i16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.i32.html\">i32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.u32.html\">u32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.u16.html\">u16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.u32.html\">u32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.i32.html\">i32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.i16.html\">i16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.u16.html\">u16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.i16.html\">i16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.i64.html\">i64</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.usize.html\">usize</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.u16.html\">u16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.u64.html\">u64</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.isize.html\">isize</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.i16.html\">i16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.i16.html\">i16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.i16.html\">i16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.i32.html\">i32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.i32.html\">i32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.i64.html\">i64</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.isize.html\">isize</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.u16.html\">u16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.u16.html\">u16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.u16.html\">u16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.u32.html\">u32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.u32.html\">u32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.u64.html\">u64</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.usize.html\">usize</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>"]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[7880]} \ No newline at end of file
diff --git a/trait.impl/core/convert/trait.Into.js b/trait.impl/core/convert/trait.Into.js
index c91dc10..ffeb5b2 100644
--- a/trait.impl/core/convert/trait.Into.js
+++ b/trait.impl/core/convert/trait.Into.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"tiny_vm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html\" title=\"trait core::convert::Into\">Into</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.76.0/std/primitive.usize.html\">usize</a>&gt; for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>"]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["tiny_vm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html\" title=\"trait core::convert::Into\">Into</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.83.0/std/primitive.usize.html\">usize</a>&gt; for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>"]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[374]} \ No newline at end of file
diff --git a/trait.impl/core/fmt/trait.Debug.js b/trait.impl/core/fmt/trait.Debug.js
index 3646213..f05edb4 100644
--- a/trait.impl/core/fmt/trait.Debug.js
+++ b/trait.impl/core/fmt/trait.Debug.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"tiny_vm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>"]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["tiny_vm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>"]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[496]} \ No newline at end of file
diff --git a/trait.impl/core/marker/trait.Copy.js b/trait.impl/core/marker/trait.Copy.js
index baa7d3c..52c4a65 100644
--- a/trait.impl/core/marker/trait.Copy.js
+++ b/trait.impl/core/marker/trait.Copy.js
@@ -1,4 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>"]],
-"tiny_vm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>"]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>"]]],["tiny_vm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>"]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[1250,503]} \ No newline at end of file
diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js
index 13b78cd..16c37e5 100644
--- a/trait.impl/core/marker/trait.Freeze.js
+++ b/trait.impl/core/marker/trait.Freeze.js
@@ -1,4 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl Freeze for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl Freeze for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl Freeze for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl Freeze for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl Freeze for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]]],
-"tiny_vm":[["impl Freeze for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]],["impl Freeze for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl Freeze for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl Freeze for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]],["impl Freeze for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp16.html\" title=\"struct juicebox_asm::MemOp16\">MemOp16</a>",1,["juicebox_asm::MemOp16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp32.html\" title=\"struct juicebox_asm::MemOp32\">MemOp32</a>",1,["juicebox_asm::MemOp32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp64.html\" title=\"struct juicebox_asm::MemOp64\">MemOp64</a>",1,["juicebox_asm::MemOp64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp8.html\" title=\"struct juicebox_asm::MemOp8\">MemOp8</a>",1,["juicebox_asm::MemOp8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]]]],["tiny_vm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[4624,1388]} \ No newline at end of file
diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js
index bb0c12f..9069da9 100644
--- a/trait.impl/core/marker/trait.Send.js
+++ b/trait.impl/core/marker/trait.Send.js
@@ -1,4 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]]],
-"tiny_vm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp16.html\" title=\"struct juicebox_asm::MemOp16\">MemOp16</a>",1,["juicebox_asm::MemOp16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp32.html\" title=\"struct juicebox_asm::MemOp32\">MemOp32</a>",1,["juicebox_asm::MemOp32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp64.html\" title=\"struct juicebox_asm::MemOp64\">MemOp64</a>",1,["juicebox_asm::MemOp64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp8.html\" title=\"struct juicebox_asm::MemOp8\">MemOp8</a>",1,["juicebox_asm::MemOp8"]]]],["tiny_vm",[["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[4529,1359]} \ No newline at end of file
diff --git a/trait.impl/core/marker/trait.StructuralPartialEq.js b/trait.impl/core/marker/trait.StructuralPartialEq.js
index 5450ab8..d0a8dbc 100644
--- a/trait.impl/core/marker/trait.StructuralPartialEq.js
+++ b/trait.impl/core/marker/trait.StructuralPartialEq.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"tiny_vm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>"]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["tiny_vm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>"]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[592]} \ No newline at end of file
diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js
index bb9e46f..fab9daa 100644
--- a/trait.impl/core/marker/trait.Sync.js
+++ b/trait.impl/core/marker/trait.Sync.js
@@ -1,4 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]]],
-"tiny_vm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp16.html\" title=\"struct juicebox_asm::MemOp16\">MemOp16</a>",1,["juicebox_asm::MemOp16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp32.html\" title=\"struct juicebox_asm::MemOp32\">MemOp32</a>",1,["juicebox_asm::MemOp32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp64.html\" title=\"struct juicebox_asm::MemOp64\">MemOp64</a>",1,["juicebox_asm::MemOp64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp8.html\" title=\"struct juicebox_asm::MemOp8\">MemOp8</a>",1,["juicebox_asm::MemOp8"]]]],["tiny_vm",[["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[4529,1359]} \ No newline at end of file
diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js
index d87f45c..50a7624 100644
--- a/trait.impl/core/marker/trait.Unpin.js
+++ b/trait.impl/core/marker/trait.Unpin.js
@@ -1,4 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]]],
-"tiny_vm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp16.html\" title=\"struct juicebox_asm::MemOp16\">MemOp16</a>",1,["juicebox_asm::MemOp16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp32.html\" title=\"struct juicebox_asm::MemOp32\">MemOp32</a>",1,["juicebox_asm::MemOp32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp64.html\" title=\"struct juicebox_asm::MemOp64\">MemOp64</a>",1,["juicebox_asm::MemOp64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp8.html\" title=\"struct juicebox_asm::MemOp8\">MemOp8</a>",1,["juicebox_asm::MemOp8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]]]],["tiny_vm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[4576,1373]} \ No newline at end of file
diff --git a/trait.impl/core/ops/drop/trait.Drop.js b/trait.impl/core/ops/drop/trait.Drop.js
index 78d4454..c9cfab3 100644
--- a/trait.impl/core/ops/drop/trait.Drop.js
+++ b/trait.impl/core/ops/drop/trait.Drop.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>"]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>"]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[540]} \ No newline at end of file
diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
index 70d89df..696ddbb 100644
--- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
+++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
@@ -1,4 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]]],
-"tiny_vm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp16.html\" title=\"struct juicebox_asm::MemOp16\">MemOp16</a>",1,["juicebox_asm::MemOp16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp32.html\" title=\"struct juicebox_asm::MemOp32\">MemOp32</a>",1,["juicebox_asm::MemOp32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp64.html\" title=\"struct juicebox_asm::MemOp64\">MemOp64</a>",1,["juicebox_asm::MemOp64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp8.html\" title=\"struct juicebox_asm::MemOp8\">MemOp8</a>",1,["juicebox_asm::MemOp8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]]]],["tiny_vm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[5328,1608]} \ No newline at end of file
diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
index 32464d8..62108b6 100644
--- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
+++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
@@ -1,4 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]]],
-"tiny_vm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]]]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg16.html\" title=\"enum juicebox_asm::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg32.html\" title=\"enum juicebox_asm::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg64.html\" title=\"enum juicebox_asm::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.Reg8.html\" title=\"enum juicebox_asm::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::asm::Asm"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm16.html\" title=\"struct juicebox_asm::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm32.html\" title=\"struct juicebox_asm::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm64.html\" title=\"struct juicebox_asm::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Imm8.html\" title=\"struct juicebox_asm::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Label.html\" title=\"struct juicebox_asm::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp16.html\" title=\"struct juicebox_asm::MemOp16\">MemOp16</a>",1,["juicebox_asm::MemOp16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp32.html\" title=\"struct juicebox_asm::MemOp32\">MemOp32</a>",1,["juicebox_asm::MemOp32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp64.html\" title=\"struct juicebox_asm::MemOp64\">MemOp64</a>",1,["juicebox_asm::MemOp64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.MemOp8.html\" title=\"struct juicebox_asm::MemOp8\">MemOp8</a>",1,["juicebox_asm::MemOp8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Runtime.html\" title=\"struct juicebox_asm::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]]]],["tiny_vm",[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyInsn.html\" title=\"enum tiny_vm::TinyInsn\">TinyInsn</a>",1,["tiny_vm::TinyInsn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"tiny_vm/enum.TinyReg.html\" title=\"enum tiny_vm::TinyReg\">TinyReg</a>",1,["tiny_vm::TinyReg"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.Fixup.html\" title=\"struct tiny_vm::Fixup\">Fixup</a>",1,["tiny_vm::Fixup"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.PhysAddr.html\" title=\"struct tiny_vm::PhysAddr\">PhysAddr</a>",1,["tiny_vm::PhysAddr"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"tiny_vm/struct.TinyVm.html\" title=\"struct tiny_vm::TinyVm\">TinyVm</a>",1,["tiny_vm::TinyVm"]]]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[5184,1563]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Add.js b/trait.impl/juicebox_asm/insn/trait.Add.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Add.js
+++ b/trait.impl/juicebox_asm/insn/trait.Add.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Call.js b/trait.impl/juicebox_asm/insn/trait.Call.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Call.js
+++ b/trait.impl/juicebox_asm/insn/trait.Call.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Cmovnz.js b/trait.impl/juicebox_asm/insn/trait.Cmovnz.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Cmovnz.js
+++ b/trait.impl/juicebox_asm/insn/trait.Cmovnz.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Cmovz.js b/trait.impl/juicebox_asm/insn/trait.Cmovz.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Cmovz.js
+++ b/trait.impl/juicebox_asm/insn/trait.Cmovz.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Cmp.js b/trait.impl/juicebox_asm/insn/trait.Cmp.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Cmp.js
+++ b/trait.impl/juicebox_asm/insn/trait.Cmp.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Dec.js b/trait.impl/juicebox_asm/insn/trait.Dec.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Dec.js
+++ b/trait.impl/juicebox_asm/insn/trait.Dec.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Inc.js b/trait.impl/juicebox_asm/insn/trait.Inc.js
new file mode 100644
index 0000000..3fe7cac
--- /dev/null
+++ b/trait.impl/juicebox_asm/insn/trait.Inc.js
@@ -0,0 +1,9 @@
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Jmp.js b/trait.impl/juicebox_asm/insn/trait.Jmp.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Jmp.js
+++ b/trait.impl/juicebox_asm/insn/trait.Jmp.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Jnz.js b/trait.impl/juicebox_asm/insn/trait.Jnz.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Jnz.js
+++ b/trait.impl/juicebox_asm/insn/trait.Jnz.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Jz.js b/trait.impl/juicebox_asm/insn/trait.Jz.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Jz.js
+++ b/trait.impl/juicebox_asm/insn/trait.Jz.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Mov.js b/trait.impl/juicebox_asm/insn/trait.Mov.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Mov.js
+++ b/trait.impl/juicebox_asm/insn/trait.Mov.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Pop.js b/trait.impl/juicebox_asm/insn/trait.Pop.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Pop.js
+++ b/trait.impl/juicebox_asm/insn/trait.Pop.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Push.js b/trait.impl/juicebox_asm/insn/trait.Push.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Push.js
+++ b/trait.impl/juicebox_asm/insn/trait.Push.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Test.js b/trait.impl/juicebox_asm/insn/trait.Test.js
index fccfcd2..3fe7cac 100644
--- a/trait.impl/juicebox_asm/insn/trait.Test.js
+++ b/trait.impl/juicebox_asm/insn/trait.Test.js
@@ -1,3 +1,9 @@
-(function() {var implementors = {
-"juicebox_asm":[]
-};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file
diff --git a/trait.impl/juicebox_asm/insn/trait.Xor.js b/trait.impl/juicebox_asm/insn/trait.Xor.js
new file mode 100644
index 0000000..3fe7cac
--- /dev/null
+++ b/trait.impl/juicebox_asm/insn/trait.Xor.js
@@ -0,0 +1,9 @@
+(function() {
+ var implementors = Object.fromEntries([["juicebox_asm",[]]]);
+ if (window.register_implementors) {
+ window.register_implementors(implementors);
+ } else {
+ window.pending_implementors = implementors;
+ }
+})()
+//{"start":57,"fragment_lengths":[19]} \ No newline at end of file