mirror of
https://github.com/edg-l/edlang.git
synced 2024-11-23 00:18:24 +00:00
deploy: 2debb696ba
This commit is contained in:
parent
74244fbada
commit
a23d015fda
|
@ -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="API documentation for the Rust `Commands` enum in crate `edb`."><title>Commands in edb - 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="edb" 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">☰</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../edb/index.html">edb</a><span class="version">0.0.1-alpha.14</span></h2></div><h2 class="location"><a href="#">Commands</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Build">Build</a></li><li><a href="#variant.New">New</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Commands">Debug</a></li><li><a href="#impl-FromArgMatches-for-Commands">FromArgMatches</a></li><li><a href="#impl-Subcommand-for-Commands">Subcommand</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Commands">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Commands">Send</a></li><li><a href="#impl-Sync-for-Commands">Sync</a></li><li><a href="#impl-Unpin-for-Commands">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Commands">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<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-OwoColorize-for-D">OwoColorize</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate edb</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="../edb/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">edb</a>::<wbr><a class="enum" href="#">Commands</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/edb/main.rs.html#24-50">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) enum Commands {
|
||||
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../edb/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">edb</a>::<wbr><a class="enum" href="#">Commands</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/edb/main.rs.html#24-51">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) enum Commands {
|
||||
New {
|
||||
path: <a class="struct" href="https://doc.rust-lang.org/1.76.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>,
|
||||
name: <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
|
||||
|
@ -12,7 +12,8 @@
|
|||
},
|
||||
}</code></pre><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.New" class="variant"><a href="#variant.New" class="anchor">§</a><h3 class="code-header">New</h3></section><div class="sub-variant" id="variant.New.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.New.field.path" class="section-header"><a href="#variant.New.field.path" class="anchor field">§</a><code>path: <a class="struct" href="https://doc.rust-lang.org/1.76.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a></code></span></div><div class="sub-variant-field"><span id="variant.New.field.name" class="section-header"><a href="#variant.New.field.name" class="anchor field">§</a><code>name: <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>></code></span><div class="docblock"><p>The name of the project, defaults to the directory name</p>
|
||||
</div></div><div class="sub-variant-field"><span id="variant.New.field.bin" class="section-header"><a href="#variant.New.field.bin" class="anchor field">§</a><code>bin: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></code></span><div class="docblock"><p>Use a binary (application) template [default]</p>
|
||||
</div></div><div class="sub-variant-field"><span id="variant.New.field.lib" class="section-header"><a href="#variant.New.field.lib" class="anchor field">§</a><code>lib: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></code></span></div></div><div class="docblock"><p>Initialize a project</p>
|
||||
</div></div><div class="sub-variant-field"><span id="variant.New.field.lib" class="section-header"><a href="#variant.New.field.lib" class="anchor field">§</a><code>lib: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></code></span><div class="docblock"><p>Use a library template</p>
|
||||
</div></div></div><div class="docblock"><p>Initialize a project</p>
|
||||
</div><section id="variant.Build" class="variant"><a href="#variant.Build" class="anchor">§</a><h3 class="code-header">Build</h3></section><div class="sub-variant" id="variant.Build.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.Build.field.release" class="section-header"><a href="#variant.Build.field.release" class="anchor field">§</a><code>release: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></code></span><div class="docblock"><p>Build for release with all optimizations.</p>
|
||||
</div></div><div class="sub-variant-field"><span id="variant.Build.field.profile" class="section-header"><a href="#variant.Build.field.profile" class="anchor field">§</a><code>profile: <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>></code></span><div class="docblock"><p>Override the profile to use.</p>
|
||||
</div></div></div><div class="docblock"><p>Build a project</p>
|
||||
|
|
|
@ -1,2 +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="API documentation for the Rust `main` fn in crate `edb`."><title>main in edb - 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="edb" 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">☰</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../edb/index.html">edb</a><span class="version">0.0.1-alpha.14</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="../edb/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">edb</a>::<wbr><a class="fn" href="#">main</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/edb/main.rs.html#52-293">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) fn main() -> <a class="type" href="../anyhow/type.Result.html" title="type anyhow::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>></code></pre></section></div></main></body></html>
|
||||
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../edb/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">edb</a>::<wbr><a class="fn" href="#">main</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/edb/main.rs.html#53-294">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) fn main() -> <a class="type" href="../anyhow/type.Result.html" title="type anyhow::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>></code></pre></section></div></main></body></html>
|
|
@ -1,3 +1,3 @@
|
|||
<!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 `edb` crate."><title>edb - 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="edb" 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">☰</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../edb/index.html">edb</a><span class="version">0.0.1-alpha.14</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><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="../edb/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="#">edb</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/edb/main.rs.html#1-293">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><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="config/index.html" title="mod edb::config">config</a><span title="Restricted Visibility"> 🔒</span> </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.Cli.html" title="struct edb::Cli">Cli</a></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.Commands.html" title="enum edb::Commands">Commands</a><span title="Restricted Visibility"> 🔒</span> </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.main.html" title="fn edb::main">main</a><span title="Restricted Visibility"> 🔒</span> </div></li></ul></section></div></main></body></html>
|
||||
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../edb/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="#">edb</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/edb/main.rs.html#1-294">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><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="config/index.html" title="mod edb::config">config</a><span title="Restricted Visibility"> 🔒</span> </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.Cli.html" title="struct edb::Cli">Cli</a></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.Commands.html" title="enum edb::Commands">Commands</a><span title="Restricted Visibility"> 🔒</span> </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.main.html" title="fn edb::main">main</a><span title="Restricted Visibility"> 🔒</span> </div></li></ul></section></div></main></body></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="API documentation for the Rust `compile` fn in crate `edlang_codegen_llvm`."><title>compile in edlang_codegen_llvm::codegen - 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="edlang_codegen_llvm" 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">☰</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../edlang_codegen_llvm/index.html">edlang_codegen_llvm</a><span class="version">0.0.1-alpha.14</span></h2></div><div class="sidebar-elems"><h2><a href="index.html">In edlang_codegen_llvm::codegen</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="../../edlang_codegen_llvm/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">edlang_codegen_llvm</a>::<wbr><a href="index.html">codegen</a>::<wbr><a class="fn" href="#">compile</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/edlang_codegen_llvm/codegen.rs.html#63-199">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn compile(
|
||||
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../edlang_codegen_llvm/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">edlang_codegen_llvm</a>::<wbr><a href="index.html">codegen</a>::<wbr><a class="fn" href="#">compile</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/edlang_codegen_llvm/codegen.rs.html#67-207">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub fn compile(
|
||||
session: &<a class="struct" href="../../edlang_session/struct.Session.html" title="struct edlang_session::Session">Session</a>,
|
||||
program: &<a class="struct" href="../../edlang_ir/struct.ProgramBody.html" title="struct edlang_ir::ProgramBody">ProgramBody</a>
|
||||
) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.76.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>, <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>>></code></pre></section></div></main></body></html>
|
|
@ -1,2 +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="API documentation for the Rust `codegen` mod in crate `edlang_codegen_llvm`."><title>edlang_codegen_llvm::codegen - 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="edlang_codegen_llvm" 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">☰</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../edlang_codegen_llvm/index.html">edlang_codegen_llvm</a><span class="version">0.0.1-alpha.14</span></h2></div><h2 class="location"><a href="#">Module codegen</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#functions">Functions</a></li></ul></section><h2><a href="../index.html">In crate edlang_codegen_llvm</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="../../edlang_codegen_llvm/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">edlang_codegen_llvm</a>::<wbr><a class="mod" href="#">codegen</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/edlang_codegen_llvm/codegen.rs.html#1-1520">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><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.compile.html" title="fn edlang_codegen_llvm::codegen::compile">compile</a></div></li></ul></section></div></main></body></html>
|
||||
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../edlang_codegen_llvm/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">edlang_codegen_llvm</a>::<wbr><a class="mod" href="#">codegen</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/edlang_codegen_llvm/codegen.rs.html#1-1534">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><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.compile.html" title="fn edlang_codegen_llvm::codegen::compile">compile</a></div></li></ul></section></div></main></body></html>
|
File diff suppressed because one or more lines are too long
|
@ -292,6 +292,7 @@
|
|||
<a href="#291" id="291">291</a>
|
||||
<a href="#292" id="292">292</a>
|
||||
<a href="#293" id="293">293</a>
|
||||
<a href="#294" id="294">294</a>
|
||||
</pre></div><pre class="rust"><code><span class="kw">use </span>std::{collections::HashMap, fs::File, io::Read, path::PathBuf, time::Instant};
|
||||
|
||||
<span class="kw">use </span>anyhow::{bail, Context, <span class="prelude-ty">Result</span>};
|
||||
|
@ -328,7 +329,8 @@
|
|||
</span><span class="attr">#[arg(long, group = <span class="string">"binary"</span>, default_value_t = <span class="bool-val">true</span>)]
|
||||
</span>bin: bool,
|
||||
|
||||
<span class="attr">#[arg(long, group = <span class="string">"binary"</span>)]
|
||||
<span class="doccomment">/// Use a library template
|
||||
</span><span class="attr">#[arg(long, group = <span class="string">"binary"</span>)]
|
||||
</span>lib: bool,
|
||||
},
|
||||
<span class="doccomment">/// Build a project
|
||||
|
|
|
@ -1519,7 +1519,25 @@
|
|||
<a href="#1518" id="1518">1518</a>
|
||||
<a href="#1519" id="1519">1519</a>
|
||||
<a href="#1520" id="1520">1520</a>
|
||||
</pre></div><pre class="rust"><code><span class="kw">use </span>std::{collections::HashMap, error::Error, path::PathBuf};
|
||||
<a href="#1521" id="1521">1521</a>
|
||||
<a href="#1522" id="1522">1522</a>
|
||||
<a href="#1523" id="1523">1523</a>
|
||||
<a href="#1524" id="1524">1524</a>
|
||||
<a href="#1525" id="1525">1525</a>
|
||||
<a href="#1526" id="1526">1526</a>
|
||||
<a href="#1527" id="1527">1527</a>
|
||||
<a href="#1528" id="1528">1528</a>
|
||||
<a href="#1529" id="1529">1529</a>
|
||||
<a href="#1530" id="1530">1530</a>
|
||||
<a href="#1531" id="1531">1531</a>
|
||||
<a href="#1532" id="1532">1532</a>
|
||||
<a href="#1533" id="1533">1533</a>
|
||||
<a href="#1534" id="1534">1534</a>
|
||||
</pre></div><pre class="rust"><code><span class="kw">use </span>std::{
|
||||
collections::{HashMap, VecDeque},
|
||||
error::Error,
|
||||
path::PathBuf,
|
||||
};
|
||||
|
||||
<span class="kw">use </span>edlang_ir <span class="kw">as </span>ir;
|
||||
<span class="kw">use </span>edlang_ir::DefId;
|
||||
|
@ -1591,7 +1609,7 @@
|
|||
program,
|
||||
};
|
||||
|
||||
<span class="kw">let </span><span class="kw-2">mut </span>llvm_modules = Vec::new();
|
||||
<span class="kw">let </span><span class="kw-2">mut </span>llvm_modules = VecDeque::new();
|
||||
|
||||
Target::initialize_native(<span class="kw-2">&</span>InitializationConfig::default())<span class="question-mark">?</span>;
|
||||
<span class="kw">let </span>triple = TargetMachine::get_default_triple();
|
||||
|
@ -1617,9 +1635,9 @@
|
|||
inkwell::targets::CodeModel::Default,
|
||||
)
|
||||
.unwrap();
|
||||
machine.set_asm_verbosity(<span class="bool-val">true</span>);
|
||||
<span class="comment">// machine.set_asm_verbosity(true);
|
||||
|
||||
<span class="macro">info!</span>(<span class="string">"compiling for: {:?}"</span>, target.get_description());
|
||||
</span><span class="macro">info!</span>(<span class="string">"compiling for: {:?}"</span>, target.get_description());
|
||||
|
||||
<span class="kw">for </span>module_id <span class="kw">in </span>program.top_level_modules.iter() {
|
||||
<span class="kw">let </span>module = ctx.program.modules.get(module_id).unwrap();
|
||||
|
@ -1662,7 +1680,7 @@
|
|||
);
|
||||
|
||||
<span class="kw">let </span>di_namespace = di_builder
|
||||
.create_namespace(di_unit.as_debug_info_scope(), <span class="kw-2">&</span>module.name, <span class="bool-val">true</span>)
|
||||
.create_namespace(di_unit.get_file().as_debug_info_scope(), <span class="kw-2">&</span>module.name, <span class="bool-val">true</span>)
|
||||
.as_debug_info_scope();
|
||||
|
||||
<span class="kw">let </span><span class="kw-2">mut </span>module_ctx = ModuleCompileCtx {
|
||||
|
@ -1681,41 +1699,45 @@
|
|||
module_ctx.di_builder.finalize();
|
||||
module_ctx.module.verify()<span class="question-mark">?</span>;
|
||||
|
||||
<span class="kw">let </span>opt = <span class="kw">match </span>session.optlevel {
|
||||
edlang_session::OptLevel::None => <span class="string">"0"</span>,
|
||||
edlang_session::OptLevel::Less => <span class="string">"1"</span>,
|
||||
edlang_session::OptLevel::Default => <span class="string">"2"</span>,
|
||||
edlang_session::OptLevel::Aggressive => <span class="string">"3"</span>,
|
||||
};
|
||||
|
||||
<span class="kw">let </span>passopt = PassBuilderOptions::create();
|
||||
module_ctx
|
||||
.module
|
||||
.run_passes(<span class="kw-2">&</span><span class="macro">format!</span>(<span class="string">"default<O{}>"</span>, opt), <span class="kw-2">&</span>machine, passopt)<span class="question-mark">?</span>;
|
||||
|
||||
<span class="kw">if </span>session.output_llvm {
|
||||
module_ctx
|
||||
.module
|
||||
.print_to_file(session.output_file.with_extension(<span class="string">"ll"</span>))<span class="question-mark">?</span>;
|
||||
}
|
||||
|
||||
<span class="kw">if </span>session.output_asm {
|
||||
machine.write_to_file(
|
||||
<span class="kw-2">&</span>module_ctx.module,
|
||||
inkwell::targets::FileType::Assembly,
|
||||
<span class="kw-2">&</span>session.output_file.with_extension(<span class="string">"asm"</span>),
|
||||
)<span class="question-mark">?</span>;
|
||||
}
|
||||
|
||||
machine.write_to_file(
|
||||
<span class="kw-2">&</span>module_ctx.module,
|
||||
inkwell::targets::FileType::Object,
|
||||
<span class="kw-2">&</span>session.output_file.with_extension(<span class="string">"o"</span>),
|
||||
)<span class="question-mark">?</span>;
|
||||
<span class="comment">// todo link modules together
|
||||
</span>llvm_modules.push(module_ctx.module);
|
||||
</span>llvm_modules.push_back(module_ctx.module);
|
||||
}
|
||||
|
||||
<span class="kw">let </span>module = llvm_modules.pop_front().unwrap();
|
||||
|
||||
<span class="kw">for </span>x <span class="kw">in </span>llvm_modules.into_iter() {
|
||||
module.link_in_module(x)<span class="question-mark">?</span>;
|
||||
}
|
||||
|
||||
<span class="kw">let </span>opt = <span class="kw">match </span>session.optlevel {
|
||||
edlang_session::OptLevel::None => <span class="string">"0"</span>,
|
||||
edlang_session::OptLevel::Less => <span class="string">"1"</span>,
|
||||
edlang_session::OptLevel::Default => <span class="string">"2"</span>,
|
||||
edlang_session::OptLevel::Aggressive => <span class="string">"3"</span>,
|
||||
};
|
||||
|
||||
<span class="kw">let </span>passopt = PassBuilderOptions::create();
|
||||
|
||||
module.run_passes(<span class="kw-2">&</span><span class="macro">format!</span>(<span class="string">"default<O{}>"</span>, opt), <span class="kw-2">&</span>machine, passopt)<span class="question-mark">?</span>;
|
||||
|
||||
<span class="kw">if </span>session.output_llvm {
|
||||
module.print_to_file(session.output_file.with_extension(<span class="string">"ll"</span>))<span class="question-mark">?</span>;
|
||||
}
|
||||
|
||||
<span class="kw">if </span>session.output_asm {
|
||||
machine.write_to_file(
|
||||
<span class="kw-2">&</span>module,
|
||||
inkwell::targets::FileType::Assembly,
|
||||
<span class="kw-2">&</span>session.output_file.with_extension(<span class="string">"asm"</span>),
|
||||
)<span class="question-mark">?</span>;
|
||||
}
|
||||
|
||||
machine.write_to_file(
|
||||
<span class="kw-2">&</span>module,
|
||||
inkwell::targets::FileType::Object,
|
||||
<span class="kw-2">&</span>session.output_file.with_extension(<span class="string">"o"</span>),
|
||||
)<span class="question-mark">?</span>;
|
||||
|
||||
<span class="prelude-val">Ok</span>(session.output_file.with_extension(<span class="string">"o"</span>))
|
||||
}
|
||||
|
||||
|
@ -1723,7 +1745,7 @@
|
|||
<span class="kw">let </span>module = ctx.ctx.program.modules.get(<span class="kw-2">&</span>module_id).unwrap();
|
||||
<span class="macro">trace!</span>(<span class="string">"compiling module: {:?}"</span>, module_id);
|
||||
<span class="kw">for </span>id <span class="kw">in </span>module.functions.iter() {
|
||||
compile_fn_signature(ctx, <span class="kw-2">*</span>id);
|
||||
compile_fn_signature(ctx, <span class="kw-2">*</span>id, <span class="bool-val">true</span>);
|
||||
}
|
||||
|
||||
<span class="kw">for </span>id <span class="kw">in </span>module.functions.iter() {
|
||||
|
@ -1731,7 +1753,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
<span class="kw">fn </span>compile_fn_signature(ctx: <span class="kw-2">&</span>ModuleCompileCtx<<span class="lifetime">'_</span>, <span class="lifetime">'_</span>>, fn_id: DefId) {
|
||||
<span class="kw">fn </span>compile_fn_signature(ctx: <span class="kw-2">&</span>ModuleCompileCtx<<span class="lifetime">'_</span>, <span class="lifetime">'_</span>>, fn_id: DefId, is_definition: bool) {
|
||||
<span class="kw">let </span>(arg_types, ret_type) = ctx.ctx.program.function_signatures.get(<span class="kw-2">&</span>fn_id).unwrap();
|
||||
<span class="kw">let </span>body = ctx.ctx.program.functions.get(<span class="kw-2">&</span>fn_id).unwrap();
|
||||
<span class="macro">trace!</span>(<span class="string">"compiling fn sig: {}"</span>, body.name);
|
||||
|
@ -1792,8 +1814,8 @@
|
|||
ctx.di_unit.get_file(),
|
||||
line <span class="kw">as </span>u32 + <span class="number">1</span>,
|
||||
di_type,
|
||||
body.is_pub,
|
||||
!body.is_extern,
|
||||
!body.is_pub,
|
||||
is_definition,
|
||||
line <span class="kw">as </span>u32 + <span class="number">1</span>,
|
||||
<span class="number">0</span>,
|
||||
<span class="bool-val">false</span>,
|
||||
|
@ -2065,10 +2087,16 @@
|
|||
target,
|
||||
} => {
|
||||
<span class="kw">let </span>target_fn_body = ctx.ctx.program.functions.get(func).unwrap();
|
||||
<span class="kw">let </span>fn_value = ctx
|
||||
.module
|
||||
.get_function(<span class="kw-2">&</span>target_fn_body.get_mangled_name())
|
||||
.unwrap();
|
||||
<span class="comment">// compile_fn_signature(ctx, *id, true);
|
||||
</span><span class="kw">let </span>fn_value = <span class="kw">match </span>ctx.module.get_function(<span class="kw-2">&</span>target_fn_body.get_mangled_name()) {
|
||||
<span class="prelude-val">Some</span>(x) => x,
|
||||
<span class="prelude-val">None </span>=> {
|
||||
compile_fn_signature(ctx, target_fn_body.def_id, <span class="bool-val">false</span>);
|
||||
ctx.module
|
||||
.get_function(<span class="kw-2">&</span>target_fn_body.get_mangled_name())
|
||||
.unwrap()
|
||||
}
|
||||
};
|
||||
<span class="kw">let </span>args: Vec<<span class="kw">_</span>> = args
|
||||
.iter()
|
||||
.map(|x| compile_rvalue(ctx, fn_id, <span class="kw-2">&</span>locals, x).unwrap().<span class="number">0</span>.into())
|
||||
|
|
Loading…
Reference in a new issue