This Pull Request fixes/closes #2223.
It changes the following:
- Check the .boa_history file, if it is not exist then create the file before load history function to prevent the crash
Bumps [clap](https://github.com/clap-rs/clap) from 3.2.16 to 3.2.17.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.2.17</h2>
<h2>[3.2.17] - 2022-08-12</h2>
<h3>Fixes</h3>
<ul>
<li><em>(derive)</em> Expose <code>#[clap(id = ...)]</code> attribute to match Arg's latest API</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/v3.2.17/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.17] - 2022-08-12</h2>
<h3>Fixes</h3>
<ul>
<li><em>(derive)</em> Expose <code>#[clap(id = ...)]</code> attribute to match Arg's latest API</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="df30c1a1a8"><code>df30c1a</code></a> chore: Release</li>
<li><a href="57161dbe92"><code>57161db</code></a> docs: Update changelog</li>
<li><a href="e29f0140a6"><code>e29f014</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4068">#4068</a> from danielparks/issue-3785-derive-id-attr-v3</li>
<li><a href="bc84fc0f6e"><code>bc84fc0</code></a> chore(ci): Lock docs to MSRV</li>
<li><a href="d8e25498b2"><code>d8e2549</code></a> fix(derive): Add "id" attribute</li>
<li><a href="565c5ea5c0"><code>565c5ea</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4048">#4048</a> from epage/backport</li>
<li><a href="3af94ec0af"><code>3af94ec</code></a> docs(tutorial): Switch to hand-implemented ValueEnum</li>
<li><a href="3943ad7fc0"><code>3943ad7</code></a> test(tutorial): Ensure we actually test code</li>
<li><a href="a61f874a51"><code>a61f874</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4043">#4043</a> from epage/action</li>
<li><a href="c7123b3159"><code>c7123b3</code></a> docs(derive): Clarify what defaulted action/value_parser does</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.2.16...v3.2.17">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.2.16&new-version=3.2.17)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [phf](https://github.com/rust-phf/rust-phf) from 0.11.0 to 0.11.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-phf/rust-phf/releases">phf's releases</a>.</em></p>
<blockquote>
<h2>phf v0.11.1</h2>
<h3>Chore</h3>
<ul>
<li><!-- raw HTML omitted --> point to local crates for now</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>state allowed key expressions in <code>phf_map</code></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>remove now-unnecessary <code>proc-macro-hack</code> crate usage
Resolves <a href="https://github-redirect.dependabot.com/rust-phf/rust-phf/issues/255">rust-phf/rust-phf#255</a>.</p>
<p>This resolves an issue with Windows Defender identifying <code>proc-macro-hack</code> as threats. It also sheds
a depedency that is no longer necessary, now that the MSRV of this crate is 1.46 and
<code>proc-macro-hack</code> is only useful for providing support for Rust versions 1.31 through 1.45. Per
<a href="https://github.com/dtolnay/proc-macro-hack">upstream</a>:</p>
<blockquote>
<p><strong>Note:</strong> <em>As of Rust 1.45 this crate is superseded by native support for #[proc_macro] in
expression position. Only consider using this crate if you care about supporting compilers between
1.31 and 1.45.</em></p>
</blockquote>
</li>
</ul>
<h3>Commit Statistics</h3>
<ul>
<li>234 commits contributed to the release over the course of 2957 calendar days.</li>
<li>3 commits where understood as <a href="https://www.conventionalcommits.org">conventional</a>.</li>
<li>1 unique issue was worked on: <a href="https://github-redirect.dependabot.com/rust-phf/rust-phf/issues/249">#249</a></li>
</ul>
<h3>Commit Details</h3>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<ul>
<li><strong><a href="https://github-redirect.dependabot.com/rust-phf/rust-phf/issues/249">#249</a></strong>
<ul>
<li>Add <code>Map::new()</code> function and <code>Default</code> implementation to create new, empty map (baac7d0)</li>
</ul>
</li>
<li><strong>Uncategorized</strong>
<ul>
<li>Replace handmade changelog with generated one by <code>cargo-smart-release</code> (cb84cf6)</li>
<li>Add category to crates (32a72c3)</li>
<li>Update repository links on Cargo.toml (1af3b0f)</li>
<li>Release 0.11.0 (d2efdc0)</li>
<li>Merge pull request <a href="https://github-redirect.dependabot.com/rust-phf/rust-phf/issues/257">#257</a> from JohnTitor/edition-2021 (36ec885)</li>
<li>Make crates edition 2021 (b9d25da)</li>
<li>remove now-unnecessary <code>proc-macro-hack</code> crate usage (caf1ce7)</li>
<li>point to local crates for now (92e7b43)</li>
<li>Merge pull request <a href="https://github-redirect.dependabot.com/rust-phf/rust-phf/issues/253">#253</a> from JohnTitor/action-tweaks (a3e04bc)</li>
<li>Fix some Clippy warnings (71fd47c)</li>
<li>Make "unicase + macros" features work (11bb242)</li>
<li>Prepare 0.10.1 release (4cc8344)</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-phf/rust-phf/blob/master/RELEASE_PROCESS.md">phf's changelog</a>.</em></p>
<blockquote>
<h1>How to make a new release</h1>
<p>Since v0.11.1, this repository uses <a href="https://crates.io/crates/cargo-smart-release"><code>cargo-smart-release</code></a> to release crates.</p>
<h2>Installation</h2>
<pre lang="sh"><code>cargo install cargo-smart-release
</code></pre>
<h2>Before running <code>cargo-smart-release</code></h2>
<p>If the next version has a major change or bumps MSRV, i.e. it increases a minor version on <code>v0.Y.Z</code> or a major version on <code>vX.Y.Z</code>,
update the versions mentioned on the README and doc comments (and CI config if it touches MSRV).</p>
<h2>Run <code>cargo-smart-release</code></h2>
<p>First, just run:</p>
<pre lang="sh"><code>cargo smart-release phf phf_codegen phf_generator phf_macros phf_shared
</code></pre>
<p>This would show what <code>cargo-smart-release</code> would do, e.g. how it updates the version number, changelog, etc.
If you satisfy the output, run:</p>
<pre lang="sh"><code>cargo smart-release -u -e phf phf_codegen phf_generator phf_macros phf_shared
</code></pre>
<p>This would make actual releases. <code>-e</code> means that it executes actual releases and <code>-u</code> means that it always updates crates-index.
<code>cargo-smart-release</code> also takes care of the Git tags.</p>
<p>After executing it, ensure that all the releases are actually happened and the tags are pushed.
If all the things are fine, that's it!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3897b21c6d"><code>3897b21</code></a> Release phf_shared v0.11.1, phf_generator v0.11.1, phf_macros v0.11.1, phf v0...</li>
<li><a href="3c6af3f7d7"><code>3c6af3f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-phf/rust-phf/issues/265">#265</a> from rust-phf/unpin-criterion</li>
<li><a href="27a2ce4b07"><code>27a2ce4</code></a> phf_generator: Unpin the <code>criterion</code> dependency</li>
<li><a href="97f997d2be"><code>97f997d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-phf/rust-phf/issues/264">#264</a> from rust-phf/tweak-changelog</li>
<li><a href="cb84cf6636"><code>cb84cf6</code></a> Replace handmade changelog with generated one by <code>cargo-smart-release</code></li>
<li><a href="d441940cbb"><code>d441940</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-phf/rust-phf/issues/263">#263</a> from lopopolo/lopopolo/rand-no-default-features</li>
<li><a href="deefda1cdf"><code>deefda1</code></a> Disable default features for rand dep in phf_generator</li>
<li><a href="1407ebe536"><code>1407ebe</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-phf/rust-phf/issues/260">#260</a> from JohnTitor/fix-repo-link</li>
<li><a href="488b1638d2"><code>488b163</code></a> Fix a typo</li>
<li><a href="e0b34fa0a6"><code>e0b34fa</code></a> Add README.md for some crates</li>
<li>Additional commits viewable in <a href="https://github.com/rust-phf/rust-phf/compare/v0.11.0...phf-v0.11.1">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=phf&package-manager=cargo&previous-version=0.11.0&new-version=0.11.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.82 to 1.0.83.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.83</h2>
<ul>
<li>Add categories to crates.io metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2b0403f5cd"><code>2b0403f</code></a> Release 1.0.83</li>
<li><a href="db96d72c3f"><code>db96d72</code></a> Add categories to crates.io metadata</li>
<li><a href="25129334eb"><code>2512933</code></a> Add authors to Cargo.toml</li>
<li><a href="22da79711a"><code>22da797</code></a> Sort package entries in Cargo.toml</li>
<li><a href="01ef46e363"><code>01ef46e</code></a> Ignore assertions_on_result_states clippy lint</li>
<li><a href="aac479a70a"><code>aac479a</code></a> Avoid cargo 1.43–1.45 in GitHub Actions</li>
<li><a href="1a433816f6"><code>1a43381</code></a> Convert i/u128 conversion to itoa instead of std::fmt</li>
<li><a href="84c157b41d"><code>84c157b</code></a> Directly install aarch64-unknown-none target support</li>
<li><a href="d1cbbb634a"><code>d1cbbb6</code></a> Update ui test suite to nightly-2022-07-20</li>
<li><a href="5b441a2881"><code>5b441a2</code></a> Ignore explicit_auto_deref clippy lint</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.82...v1.0.83">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.82&new-version=1.0.83)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.2.15 to 3.2.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.2.16</h2>
<h2>[3.2.16] - 2022-07-30</h2>
<h3>Fixes</h3>
<ul>
<li>Ensure required arguments appear in errors when they are also members of a group (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4004">#4004</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.16] - 2022-07-30</h2>
<h3>Fixes</h3>
<ul>
<li>Ensure required arguments appear in errors when they are also members of a group (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4004">#4004</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9bd1e2fd39"><code>9bd1e2f</code></a> chore: Release</li>
<li><a href="5e525944a5"><code>5e52594</code></a> docs: Update changelog</li>
<li><a href="80ea08cc5a"><code>80ea08c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4006">#4006</a> from epage/error</li>
<li><a href="4c43b21c35"><code>4c43b21</code></a> fix(parser): Include required argument in message</li>
<li><a href="ef1424b21c"><code>ef1424b</code></a> refactor(usage): Clarify required gathering</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.2.15...v3.2.16">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.2.15&new-version=3.2.16)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.2.14 to 3.2.15.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.2.15</h2>
<h2>[3.2.15] - 2022-07-25</h2>
<h3>Features</h3>
<ul>
<li><em>(derive)</em> New <code>default_values_t</code> and <code>default_values_os_t</code> attributes</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/v3.2.15/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.15] - 2022-07-25</h2>
<h3>Features</h3>
<ul>
<li><em>(derive)</em> New <code>default_values_t</code> and <code>default_values_os_t</code> attributes</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b2a8fd7f46"><code>b2a8fd7</code></a> chore: Release</li>
<li><a href="026e858065"><code>026e858</code></a> chore: Allow releasing from release branches</li>
<li><a href="84ae6df0a1"><code>84ae6df</code></a> docs: Update changelog</li>
<li><a href="69b0904eda"><code>69b0904</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3987">#3987</a> from emersonford/default-values-t-v3-backport</li>
<li><a href="027a67542b"><code>027a675</code></a> feat(clap_derive): Add <code>default_values_t</code> and <code>default_values_os_t</code></li>
<li><a href="9262d924bc"><code>9262d92</code></a> chore(gh): Start v3 patch maintenance</li>
<li><a href="19371247fc"><code>1937124</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3961">#3961</a> from epage/prep</li>
<li><a href="0eeb4da33d"><code>0eeb4da</code></a> chore(gh): Prepare for more branches to be added</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.2.14...v3.2.15">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.2.14&new-version=3.2.15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.2.12 to 3.2.14.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.2.14</h2>
<h2>[3.2.14] - 2022-07-21</h2>
<h3>Fixes</h3>
<ul>
<li>A <code>multple_values</code> positional followed by another positional now works with multiple flags</li>
</ul>
<h2>v3.2.13</h2>
<h2>[3.2.13] - 2022-07-19</h2>
<h3>Documentation</h3>
<ul>
<li>Pulled in tutorials, cookbook, and derive reference into rustdoc</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.14] - 2022-07-21</h2>
<h3>Fixes</h3>
<ul>
<li>A <code>multple_values</code> positional followed by another positional now works with multiple flags</li>
</ul>
<h2>[3.2.13] - 2022-07-19</h2>
<h3>Documentation</h3>
<ul>
<li>Pulled in tutorials, cookbook, and derive reference into rustdoc</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d40e42a9ca"><code>d40e42a</code></a> chore: Release</li>
<li><a href="88b9406c1b"><code>88b9406</code></a> docs: Update changelog</li>
<li><a href="f48e517b71"><code>f48e517</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3960">#3960</a> from epage/pos</li>
<li><a href="48f087d090"><code>48f087d</code></a> fix(parser): low index multiples work with flags</li>
<li><a href="5e02445ce5"><code>5e02445</code></a> docs: Small tweak to lib docs</li>
<li><a href="318e0ab35d"><code>318e0ab</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3955">#3955</a> from tshepang/patch-1</li>
<li><a href="01d7e7ac04"><code>01d7e7a</code></a> docs: reduce the need to guess</li>
<li><a href="e6b8b4b607"><code>e6b8b4b</code></a> chore: Release</li>
<li><a href="85ccf3e901"><code>85ccf3e</code></a> chore: Update release process</li>
<li><a href="fcd7cae81f"><code>fcd7cae</code></a> docs: Update changelog</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.2.12...v3.2.14">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.2.12&new-version=3.2.14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
This Pull Request overrides #2183#2187, #2189 and #2190.
It changes the following:
- Updates rustyline to 10.0.0 (this uses the new phf 0.11)
- Updates phf to 0.11 to avoid different dependency versions
- Fixes the `Editor` creation, which now returns a `Result`.
Bumps [rustyline-derive](https://github.com/kkawakam/rustyline) from 0.6.0 to 0.7.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/kkawakam/rustyline/commits">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustyline-derive&package-manager=cargo&previous-version=0.6.0&new-version=0.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.2.11 to 3.2.12.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.2.12</h2>
<h2>[3.2.12] - 2022-07-14</h2>
<h3>Fixes</h3>
<ul>
<li>Allow an arg to declare a conflict with a group</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.12] - 2022-07-14</h2>
<h3>Fixes</h3>
<ul>
<li>Allow an arg to declare a conflict with a group</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a8a7a61f56"><code>a8a7a61</code></a> chore: Release</li>
<li><a href="ed8837f2cc"><code>ed8837f</code></a> docs: Update changelog</li>
<li><a href="afc540153b"><code>afc5401</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3902">#3902</a> from tmccombs/get-conflicts-with-group</li>
<li><a href="f27f1f57ea"><code>f27f1f5</code></a> fix: Include groups in <code>get_arg_conflicts_with</code></li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.2.11...v3.2.12">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.2.11&new-version=3.2.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.2.10 to 3.2.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.2.11</h2>
<h2>[3.2.11] - 2022-07-13</h2>
<h3>Features</h3>
<ul>
<li>Added <code>Arg::get_all_short_aliaes</code> and <code>Arg::get_all_aliases</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.11] - 2022-07-13</h2>
<h3>Features</h3>
<ul>
<li>Added <code>Arg::get_all_short_aliaes</code> and <code>Arg::get_all_aliases</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2df0732df4"><code>2df0732</code></a> chore: Release</li>
<li><a href="1c2242251b"><code>1c22422</code></a> docs: Update changelog</li>
<li><a href="e8374e3f2e"><code>e8374e3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3913">#3913</a> from emersonford/expose-non-visible-arg-aliases</li>
<li><a href="e39156e0b9"><code>e39156e</code></a> feat: Add method to get non-visible arg aliases</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.2.10...v3.2.11">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.2.10&new-version=3.2.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.2.8 to 3.2.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.2.10</h2>
<h2>[3.2.10] - 2022-07-12</h2>
<h3>Fixes</h3>
<ul>
<li>Loosen lifetime on <code>Command::mut_subcommand</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.10] - 2022-07-12</h2>
<h3>Fixes</h3>
<ul>
<li>Loosen lifetime on <code>Command::mut_subcommand</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9b6321a1f0"><code>9b6321a</code></a> chore: Release</li>
<li><a href="074712a739"><code>074712a</code></a> chore: Update release process</li>
<li><a href="096db791bf"><code>096db79</code></a> docs: Update changelog</li>
<li><a href="3802a35a43"><code>3802a35</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3909">#3909</a> from emersonford/fix-mut-subcommand-lifetime</li>
<li><a href="8e1411b3b2"><code>8e1411b</code></a> fix: Loosen lifetime constraint on mut_subcommand</li>
<li><a href="5c7ad01587"><code>5c7ad01</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3908">#3908</a> from jturner314-nrl/derive-ref-quotes</li>
<li><a href="f94eafbaf7"><code>f94eafb</code></a> Clarify in docs that rename_all needs a string literal</li>
<li><a href="93565c226c"><code>93565c2</code></a> Add "" around string literals in derive ref docs</li>
<li><a href="7c0068e5b9"><code>7c0068e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3906">#3906</a> from epage/complete</li>
<li><a href="6286339f81"><code>6286339</code></a> docs(complete): Make example consistent</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.2.8...v3.2.10">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.2.8&new-version=3.2.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.2.7 to 3.2.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.2.8</h2>
<h2>[3.2.8] - 2022-06-30</h2>
<h3>Features</h3>
<ul>
<li>Added <code>Command::mut_subcommand</code> to mirror <code>Command::mut_arg</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.8] - 2022-06-30</h2>
<h3>Features</h3>
<ul>
<li>Added <code>Command::mut_subcommand</code> to mirror <code>Command::mut_arg</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6614ffa6c8"><code>6614ffa</code></a> chore: Release</li>
<li><a href="a67746ecbe"><code>a67746e</code></a> docs: Update changelog</li>
<li><a href="5ca73f3299"><code>5ca73f3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3882">#3882</a> from emersonford/mut_subcommands</li>
<li><a href="619f209138"><code>619f209</code></a> feat: Add <code>mut_subcommand</code> method to Command</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.2.7...v3.2.8">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.2.7&new-version=3.2.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.81 to 1.0.82.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.82</h2>
<ul>
<li>Implement <code>From<Option<T>></code> for serde_json::Value where <code>T: Into<Value></code> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/900">#900</a>, thanks <a href="https://github.com/kvnvelasco"><code>@kvnvelasco</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f286714a4b"><code>f286714</code></a> Release 1.0.82</li>
<li><a href="df704c2468"><code>df704c2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/900">#900</a> from kvnvelasco/implement_from_option_for_value</li>
<li><a href="b87778bf54"><code>b87778b</code></a> don't use experimental (in 1.36) Self:: access for enums</li>
<li><a href="1bf61e9c08"><code>1bf61e9</code></a> make Value be From<Option<!-- raw HTML omitted -->></li>
<li><a href="3d173405c2"><code>3d17340</code></a> Bump oldest rustc for preserve_order feature to 1.56.1</li>
<li><a href="dab5ed3ee9"><code>dab5ed3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/895">#895</a> from dtolnay/ref</li>
<li><a href="05e03ee181"><code>05e03ee</code></a> Eliminate all use of ref keyword</li>
<li><a href="45f1c4a744"><code>45f1c4a</code></a> Resolve borrow_deref_ref clippy lint</li>
<li><a href="de5c34b704"><code>de5c34b</code></a> Resolve get_first clippy lint</li>
<li><a href="6b91c96f8d"><code>6b91c96</code></a> Check for outdated deps in fuzz target</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.81...v1.0.82">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.81&new-version=1.0.82)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.2.6 to 3.2.7.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.7] - 2022-06-28</h2>
<h3>Fixes</h3>
<ul>
<li>Global arguments should override env-sourced arguments</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b4a1362486"><code>b4a1362</code></a> chore: Release</li>
<li><a href="3e80393e43"><code>3e80393</code></a> docs: Update changelog</li>
<li><a href="f406d99b95"><code>f406d99</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3879">#3879</a> from epage/env</li>
<li><a href="72d206e4d9"><code>72d206e</code></a> fix(parser): Ensure globals override env vars</li>
<li><a href="f082eb6d4a"><code>f082eb6</code></a> test(parser): Verify global/default interaction</li>
<li><a href="9962393c20"><code>9962393</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3877">#3877</a> from epage/assert</li>
<li><a href="3c4e684c8b"><code>3c4e684</code></a> test: Verify auto-traits for core types</li>
<li><a href="a05f4d34a3"><code>a05f4d3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3870">#3870</a> from stepancheg/macro-refs</li>
<li><a href="5ba41d775c"><code>5ba41d7</code></a> docs(license): Update years/holders</li>
<li><a href="464ef3920b"><code>464ef39</code></a> refactor: Put once_cell reexport into __macro_refs</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.2.6...v3.2.7">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.2.6&new-version=3.2.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.2.5 to 3.2.6.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.6] - 2022-06-21</h2>
<h3>Fixes</h3>
<ul>
<li>Don't panic when parsing <code>--=</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3823df9bbe"><code>3823df9</code></a> chore: Release</li>
<li><a href="8a659bc2b4"><code>8a659bc</code></a> docs: Update changelog</li>
<li><a href="ceb7ee4f54"><code>ceb7ee4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3860">#3860</a> from epage/panic</li>
<li><a href="01da890145"><code>01da890</code></a> fix(parser): Don't panic on <code>--=</code></li>
<li><a href="dabb5713d4"><code>dabb571</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3853">#3853</a> from dtolnay-contrib/valuevalidation</li>
<li><a href="690530a191"><code>690530a</code></a> Fix typo in ErrorKind::ValueValidation message</li>
<li><a href="ae78f88d48"><code>ae78f88</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3852">#3852</a> from epage/msrv</li>
<li><a href="82d70d82c4"><code>82d70d8</code></a> chore: Bump MSRV from 1.56.0 to 1.56.1</li>
<li><a href="8c28bec396"><code>8c28bec</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3851">#3851</a> from tshepang/trim-manifest</li>
<li><a href="806f634bfa"><code>806f634</code></a> chore: trim Cargo manifest fields whose values are defaults</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.2.5...v3.2.6">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.2.5&new-version=3.2.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel neccesary.
--->
This Pull Request integrates an `ICU4X` data provider API in our codebase, to make use of the internationalization APIs that this crate provides.
It changes the following:
- Creates an API for pluggable icu data providers at `Context` creation, adding an `Icu` struct to store the provider (and some other internationalization tools) at runtime.
- Slightly changes locale related functions to preserve the `Locale` type and ensure correctness. (Will make some other changes related to this).
- Integrates the `sys_locale` crate to fetch the current default locale of an user instead of always returning `en-US`.
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.5 to 1.5.6.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's changelog</a>.</em></p>
<blockquote>
<h1>1.5.6 (2022-05-20)</h1>
<p>This release includes a few bug fixes, including a bug that produced incorrect
matches when a non-greedy <code>?</code> operator was used.</p>
<ul>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/680">#680</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/680">rust-lang/regex#680</a>):
Fixes a bug where <code>[[:alnum:][:^ascii:]]</code> dropped <code>[:alnum:]</code> from the class.</li>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/859">#859</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/859">rust-lang/regex#859</a>):
Fixes a bug where <code>Hir::is_match_empty</code> returned <code>false</code> for <code>\b</code>.</li>
<li>[BUG <a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/862">#862</a>](<a href="https://github-redirect.dependabot.com/rust-lang/regex/issues/862">rust-lang/regex#862</a>):
Fixes a bug where 'ab??' matches 'ab' instead of 'a' in 'ab'.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9aef5b1edc"><code>9aef5b1</code></a> 1.5.6</li>
<li><a href="2931b070fd"><code>2931b07</code></a> syntax: bump minimum regex-syntax version to 0.6.26</li>
<li><a href="b41bde0b85"><code>b41bde0</code></a> regex-syntax-0.6.26</li>
<li><a href="d98da65bb3"><code>d98da65</code></a> changelog: 1.5.6</li>
<li><a href="1c19619672"><code>1c19619</code></a> syntax: fix literal extraction for 'ab??'</li>
<li><a href="88a2a62d86"><code>88a2a62</code></a> syntax: fix 'is_match_empty' predicate</li>
<li><a href="72f09f1aeb"><code>72f09f1</code></a> syntax: fix ascii class union bug</li>
<li><a href="b5372864e2"><code>b537286</code></a> doc: fix some typos</li>
<li><a href="258bdf798a"><code>258bdf7</code></a> changelog: 1.5.5</li>
<li>See full diff in <a href="https://github.com/rust-lang/regex/compare/1.5.5...1.5.6">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=regex&package-manager=cargo&previous-version=1.5.5&new-version=1.5.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
The `Context` currently contains a `strict` flag that indicates is global strict mode is active. This is redundant to the strict flag that is set on every function and causes some non spec compliant situations. This pull request removes the strict flag from `Context` and fixes some resulting errors.
Detailed changes:
- Remove strict flag from `Context`
- Make 262 tester compliant with the strict section in [test262/INTERPRETING.md](2e7cdfbe18/INTERPRETING.md (strict-mode))
- Make 262 tester compliant with the `raw` flag in [test262/INTERPRETING.md](2e7cdfbe18/INTERPRETING.md (flags))
- Allow function declarations in strict mode
- Fix parser flag propagation for classes
- Move some early errors from the lexer to the parser
- Add / fix some early errors for 'arguments' and 'eval' identifier usage in strict mode
- Refactor `ArrayLiteral` parser for readability and correct early errors
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.16 to 3.1.17.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.17</h2>
<h2>[3.1.17] - 2022-05-06</h2>
<h3>Fixes</h3>
<ul>
<li>Allow value names for <code>arg!</code> macro to have dashes when quoted, like longs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.17] - 2022-05-06</h2>
<h3>Fixes</h3>
<ul>
<li>Allow value names for <code>arg!</code> macro to have dashes when quoted, like longs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="55e791e80e"><code>55e791e</code></a> chore: Release</li>
<li><a href="ed0c01993c"><code>ed0c019</code></a> docs: Update changelog</li>
<li><a href="229b44d9bb"><code>229b44d</code></a> fix(macros): Allow dashed values (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3699">#3699</a>)</li>
<li><a href="95698a4f31"><code>95698a4</code></a> chore: Release</li>
<li><a href="3984e55363"><code>3984e55</code></a> docs(complete): Update changelog</li>
<li><a href="1a1a842aa0"><code>1a1a842</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3698">#3698</a> from epage/value</li>
<li><a href="b266e6d35d"><code>b266e6d</code></a> fix(complete): Complete visible, rather than hidden, values</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.1.16...v3.1.17">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.16&new-version=3.1.17)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.15 to 3.1.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.16</h2>
<h2>[3.1.16] - 2022-05-06</h2>
<h3>Fixes</h3>
<ul>
<li><em>(parser)</em> <code>Arg::exclusive</code> overrides <code>Arg::required</code>, like other conflicts</li>
<li><em>(error)</em> Don't duplicate arguments in usage</li>
<li><em>(error)</em> Don't show hidden arguments in conflict error usage</li>
<li><em>(help)</em> New <code>help_template</code> variable <code>{name}</code> to fix problems with <code>{bin}</code></li>
<li><em>(help)</em> Don't wrap URLs</li>
</ul>
<p><strong>gated behind <code>unstable-v4</code></strong></p>
<ul>
<li>Leading dashes in <code>Arg::long</code> are no longer allowed</li>
<li><em>(help)</em> Use <code>Command::display_name</code> in the help title rather than <code>Command::bin_name</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.16] - 2022-05-06</h2>
<h3>Fixes</h3>
<ul>
<li><em>(parser)</em> <code>Arg::exclusive</code> overrides <code>Arg::required</code>, like other conflicts</li>
<li><em>(error)</em> Don't duplicate arguments in usage</li>
<li><em>(error)</em> Don't show hidden arguments in conflict error usage</li>
<li><em>(help)</em> New <code>help_template</code> variable <code>{name}</code> to fix problems with <code>{bin}</code></li>
<li><em>(help)</em> Don't wrap URLs</li>
</ul>
<p><strong>gated behind <code>unstable-v4</code></strong></p>
<ul>
<li>Leading dashes in <code>Arg::long</code> are no longer allowed</li>
<li><em>(help)</em> Use <code>Command::display_name</code> in the help title rather than <code>Command::bin_name</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="17b930c203"><code>17b930c</code></a> chore: Release</li>
<li><a href="e74864994a"><code>e748649</code></a> docs: Update changelog</li>
<li><a href="0e1e9525c8"><code>0e1e952</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3696">#3696</a> from epage/usage</li>
<li><a href="05aecf8248"><code>05aecf8</code></a> refactor(help): Remove more redundant required checks</li>
<li><a href="dcda237ecc"><code>dcda237</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3689">#3689</a> from epage/usage</li>
<li><a href="e23c786f62"><code>e23c786</code></a> refactor(help): Remove redundant required check</li>
<li><a href="f7c2deaa47"><code>f7c2dea</code></a> fix(help): Don't show hidden arguments for conflicts</li>
<li><a href="2375a8ec2a"><code>2375a8e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3693">#3693</a> from epage/template</li>
<li><a href="e4c096ea99"><code>e4c096e</code></a> fix(help): Use display name instead of bin name (unstable-v4)</li>
<li><a href="16791ab0a7"><code>16791ab</code></a> test(help): Update for display name change</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.15...v3.1.16">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.15&new-version=3.1.16)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.80 to 1.0.81.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.81</h2>
<ul>
<li>Work around <code>indexmap</code>/<code>autocfg</code> not always properly detecting whether a <code>std</code> sysroot crate is available (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/885">#885</a>, thanks <a href="https://github.com/cuviper"><code>@cuviper</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a0ea9371cd"><code>a0ea937</code></a> Release 1.0.81</li>
<li><a href="6c3dfe948a"><code>6c3dfe9</code></a> Make it clearer that preserve_order implies a std dependency</li>
<li><a href="f34ef95fd1"><code>f34ef95</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/885">#885</a> from cuviper/indexmap-std</li>
<li><a href="27939bb1f9"><code>27939bb</code></a> Explicitly enable indexmap/std</li>
<li><a href="c0f93432cc"><code>c0f9343</code></a> Ignore trait_duplication_in_bounds clippy false positives</li>
<li><a href="048a64caec"><code>048a64c</code></a> Resolve type_repetition_in_bounds clippy lint</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.80...v1.0.81">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.80&new-version=1.0.81)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.14 to 3.1.15.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.15</h2>
<h2>[3.1.15] - 2022-05-02</h2>
<h3>Fixes</h3>
<ul>
<li><em>(error)</em> Render actual usage for unrecognized subcommands</li>
<li><em>(multicall)</em> Improve bad command error</li>
<li><em>(multicall)</em> Always require a multicall command</li>
<li><em>(multicall)</em> Disallow arguments on multicall parent command</li>
<li><em>(multicall)</em> More consistent with rest of clap errors</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.15] - 2022-05-02</h2>
<h3>Fixes</h3>
<ul>
<li><em>(error)</em> Render actual usage for unrecognized subcommands</li>
<li><em>(multicall)</em> Improve bad command error</li>
<li><em>(multicall)</em> Always require a multicall command</li>
<li><em>(multicall)</em> Disallow arguments on multicall parent command</li>
<li><em>(multicall)</em> More consistent with rest of clap errors</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0240ec5493"><code>0240ec5</code></a> chore: Release</li>
<li><a href="5543315d3b"><code>5543315</code></a> docs: Update chaneglog</li>
<li><a href="d33812f8a7"><code>d33812f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3677">#3677</a> from epage/multicall</li>
<li><a href="af3b789e4c"><code>af3b789</code></a> fix(multicall): Consistently skip multicall bin in help</li>
<li><a href="8cd59fa4e5"><code>8cd59fa</code></a> fix(multicall): More consistent whitespace in errors</li>
<li><a href="f9fdb99ee8"><code>f9fdb99</code></a> fix(multicall): Disallow args on multicall binary</li>
<li><a href="ce727f1951"><code>ce727f1</code></a> fix(error): Render actual usage for unrecognized subcommands</li>
<li><a href="5cd1a4070b"><code>5cd1a40</code></a> fix(multicall): Show subcommands are required</li>
<li><a href="414ae57a2a"><code>414ae57</code></a> fix(multicall): Improve bad multicall binary error</li>
<li><a href="86b0ea6ad4"><code>86b0ea6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3675">#3675</a> from epage/repl</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.14...v3.1.15">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.14&new-version=3.1.15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.79 to 1.0.80.
<details>
<summary>Commits</summary>
<ul>
<li><a href="585e4c5dc7"><code>585e4c5</code></a> Release 1.0.80</li>
<li><a href="52a9c050f5"><code>52a9c05</code></a> Pull miri from miri branch of dtolnay/rust-toolchain</li>
<li><a href="aff685b8c9"><code>aff685b</code></a> Drop unneeded quoting from env variable in workflows yaml</li>
<li><a href="6995bbf784"><code>6995bbf</code></a> Update workflows to actions/checkout@v3</li>
<li><a href="829175e606"><code>829175e</code></a> Fix dev dependencies on serde's derive feature</li>
<li><a href="2733e635b3"><code>2733e63</code></a> Rewrap readme to 80 columns</li>
<li><a href="c5475a32db"><code>c5475a3</code></a> Apply readme changes from PR 864 to crate-level rustdoc</li>
<li><a href="56cf16f900"><code>56cf16f</code></a> Merge pull request 864 from novedevo/patch-1</li>
<li><a href="16b68b06d6"><code>16b68b0</code></a> Tweak grammar to improve readability</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.79...v1.0.80">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.79&new-version=1.0.80)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.12 to 3.1.14.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.14</h2>
<h2>[3.1.14] - 2022-05-01</h2>
<h3>Fixes</h3>
<ul>
<li>Panic when calling <code>Command::build</code> with a required positional argument nested several layers in subcommands</li>
</ul>
<h2>v3.1.13</h2>
<h2>[3.1.13] - 2022-04-30</h2>
<h3>Fixes</h3>
<ul>
<li>Help subcommand and <code>Command::write_help</code> now report required arguments in usage in more circumstances</li>
<li>Unknown subcommand for help subcommand flag now reports an error with more context</li>
<li>More details reported when using <code>debug</code> feature</li>
<li>Allow disabling <code>color</code> feature with <code>debug</code> feature enabled</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.14] - 2022-05-01</h2>
<h3>Fixes</h3>
<ul>
<li>Panic when calling <code>Command::build</code> with a required positional argument nested several layers in subcommands</li>
</ul>
<h2>[3.1.13] - 2022-04-30</h2>
<h3>Fixes</h3>
<ul>
<li>Help subcommand and <code>Command::write_help</code> now report required arguments in usage in more circumstances</li>
<li>Unknown subcommand for help subcommand flag now reports an error with more context</li>
<li>More details reported when using <code>debug</code> feature</li>
<li>Allow disabling <code>color</code> feature with <code>debug</code> feature enabled</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5e02ac1c19"><code>5e02ac1</code></a> chore: Release</li>
<li><a href="f7b00adacf"><code>f7b00ad</code></a> docs: Update chaneglog</li>
<li><a href="b37c0a1f0f"><code>b37c0a1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3670">#3670</a> from epage/panic</li>
<li><a href="0ecb6f4869"><code>0ecb6f4</code></a> fix(builder): Fully recurse when building</li>
<li><a href="c6849e2ebd"><code>c6849e2</code></a> fix(debug): Moe detail</li>
<li><a href="3ca1b77094"><code>3ca1b77</code></a> chore: Fix manifest</li>
<li><a href="b01256be36"><code>b01256b</code></a> chore: Release</li>
<li><a href="0c5400dadb"><code>0c5400d</code></a> chore: Release</li>
<li><a href="09d21f4005"><code>09d21f4</code></a> docs: Update changelog</li>
<li><a href="bd653b90d9"><code>bd653b9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3667">#3667</a> from epage/exe</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.12...v3.1.14">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.12&new-version=3.1.14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
This Pull Request changes the following:
- Implement redeclaration errors in the parser
- Remove redeclaration errors from the compiler (this is a big step towards #1907)
- Fix some failing tests on the way
This requires a slight change in our public api. The Parser new requires a full `Context` instead of just the `Interner` for parsing new code. This is required, because if multiple scripts are parsed (e.g. every input in the REPL) global variables must be checked for redeclarations.
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.11 to 3.1.12.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.12</h2>
<h2>[3.1.12] - 2022-04-22</h2>
<h3>Fixes</h3>
<ul>
<li>Regression in 3.1.11 where the (output) streams were crossed</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.12] - 2022-04-22</h2>
<h3>Fixes</h3>
<ul>
<li>Regression in 3.1.11 where the (output) streams were crossed</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d805c6031d"><code>d805c60</code></a> chore: Release</li>
<li><a href="d09aec2c14"><code>d09aec2</code></a> docs: Update changelog</li>
<li><a href="61514bf6d1"><code>61514bf</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3646">#3646</a> from arlosi/fix-stdout</li>
<li><a href="854017b478"><code>854017b</code></a> fix: Mixup between stderr and stdout introduced in v3.1.11</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.1.11...v3.1.12">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.11&new-version=3.1.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.10 to 3.1.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.11</h2>
<h2>[3.1.11] - 2022-04-22</h2>
<h3>Fixes</h3>
<ul>
<li>Implied conflicts override <code>Arg::required</code>, making the behavior consistent with how we calculate conflicts for error reporting</li>
<li>Members of a mutually exclusive <code>ArgGroup</code> override <code>Arg::required</code>, making the behavior consistent with how we calculate conflicts for error reporting</li>
<li><code>Arg::overrides_with</code> always override <code>Arg::required</code>, not just when the parser processes an override</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.11] - 2022-04-22</h2>
<h3>Fixes</h3>
<ul>
<li>Implied conflicts override <code>Arg::required</code>, making the behavior consistent with how we calculate conflicts for error reporting</li>
<li>Members of a mutually exclusive <code>ArgGroup</code> override <code>Arg::required</code>, making the behavior consistent with how we calculate conflicts for error reporting</li>
<li><code>Arg::overrides_with</code> always override <code>Arg::required</code>, not just when the parser processes an override</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a46ee83224"><code>a46ee83</code></a> chore: Release</li>
<li><a href="62e9d2dfe1"><code>62e9d2d</code></a> docs: Update changelog</li>
<li><a href="8505c47e2e"><code>8505c47</code></a> refactor(validator): Decouple parser (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3645">#3645</a>)</li>
<li><a href="9d523012fe"><code>9d52301</code></a> refactor(validator): Decouple parser</li>
<li><a href="6229e78bc6"><code>6229e78</code></a> refactor(parser): Parser is solely responsible for populating ArgMatches</li>
<li><a href="02ffd59830"><code>02ffd59</code></a> refactor(help): Move help writing down a layer</li>
<li><a href="ebeade91bf"><code>ebeade9</code></a> refactor(help): Consolidate help errors</li>
<li><a href="6a9a5d05b0"><code>6a9a5d0</code></a> refactor(help): Make bool's meaning clearer</li>
<li><a href="639f9e8849"><code>639f9e8</code></a> refactor(parser): Pull out long-help determination</li>
<li><a href="a484f622de"><code>a484f62</code></a> fix(validate): Overrides always ignore required</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.10...v3.1.11">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.10&new-version=3.1.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.9 to 3.1.10.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.10] - 2022-04-19</h2>
<h3>Featues</h3>
<ul>
<li>Expose <code>Command::build</code> for custom help generation or other command introspection needs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0194568b03"><code>0194568</code></a> chore: Release</li>
<li><a href="62b1e4874a"><code>62b1e48</code></a> docs: Update changelog</li>
<li><a href="c818ef401d"><code>c818ef4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3642">#3642</a> from epage/build</li>
<li><a href="8f182067e3"><code>8f18206</code></a> feat(clap): Publicly expose <code>Command::build</code></li>
<li><a href="eddc04cbcc"><code>eddc04c</code></a> chore: Release</li>
<li><a href="84bcab77e5"><code>84bcab7</code></a> docs: Update changelog</li>
<li><a href="83f1b165ba"><code>83f1b16</code></a> perf(lex): Drop a dependency</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.1.9...v3.1.10">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.9&new-version=3.1.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.8 to 3.1.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.9</h2>
<h2>[3.1.9] - 2022-04-15</h2>
<h3>Fixes</h3>
<ul>
<li>Pin the <code>clap_derive</code> version so a compatible version is always used with <code>clap</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.9] - 2022-04-15</h2>
<h3>Fixes</h3>
<ul>
<li>Pin the <code>clap_derive</code> version so a compatible version is always used with <code>clap</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7598c000f9"><code>7598c00</code></a> chore: Release</li>
<li><a href="d05c5dac41"><code>d05c5da</code></a> docs: Update changelog</li>
<li><a href="4abf9d7f2e"><code>4abf9d7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3636">#3636</a> from epage/derive</li>
<li><a href="027f2511c6"><code>027f251</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3634">#3634</a> from turrisxyz/naveen/feat/set-perms-actions</li>
<li><a href="ed57342bdd"><code>ed57342</code></a> fix(derive): Couple derive version to clap</li>
<li><a href="297b9cf594"><code>297b9cf</code></a> chore: Release</li>
<li><a href="b3cbfd0ae0"><code>b3cbfd0</code></a> docs(man): Update changelog</li>
<li><a href="7849c35a3e"><code>7849c35</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3635">#3635</a> from epage/port</li>
<li><a href="15d8b3b0cd"><code>15d8b3b</code></a> style: Make clippy happy</li>
<li><a href="2f0d91688a"><code>2f0d916</code></a> docs(lex): Fix links</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.8...v3.1.9">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.8&new-version=3.1.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.7 to 3.1.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.8</h2>
<h2>[3.1.8] - 2022-04-01</h2>
<h3>Fixes</h3>
<ul>
<li>Add <code>Debug</code> impls to more types</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.8] - 2022-04-01</h2>
<h3>Fixes</h3>
<ul>
<li>Add <code>Debug</code> impls to more types</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="08f74046dc"><code>08f7404</code></a> chore: Release</li>
<li><a href="6aa40ad2cb"><code>6aa40ad</code></a> docs: Update changelog</li>
<li><a href="732830a98c"><code>732830a</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3598">#3598</a> from dragonrider7225/bring-back-debug-impls</li>
<li><a href="17fed36da3"><code>17fed36</code></a> fix: Bring forward Debug impls from v2</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.1.7...v3.1.8">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.7&new-version=3.1.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.6 to 3.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v3.1.7</h2>
<h2>[3.1.7] - 2022-03-31</h2>
<h3>Fixes</h3>
<ul>
<li><code>*(derive)* Abort, rather than ignore, when deriving </code>ArgEnum` with non-unit unskipped variants</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.1.7] - 2022-03-31</h2>
<h3>Fixes</h3>
<ul>
<li><code>*(derive)* Abort, rather than ignore, when deriving </code>ArgEnum` with non-unit unskipped variants</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c75d2642ef"><code>c75d264</code></a> chore: Release</li>
<li><a href="b774370565"><code>b774370</code></a> docs: Update changelog</li>
<li><a href="71ef8878c5"><code>71ef887</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3591">#3591</a> from Shir0kamii/fix-ArgEnum-non-unit</li>
<li><a href="fb4755d1c3"><code>fb4755d</code></a> feat(derive): Don't abort when non-unit variant is skipped</li>
<li><a href="ee3d12ec56"><code>ee3d12e</code></a> fix(derive): Abort on non-unit variant</li>
<li><a href="06f855f2ab"><code>06f855f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3582">#3582</a> from ducaale/fix-docs</li>
<li><a href="d55e46f65f"><code>d55e46f</code></a> docs(mangen): Fix docs for Man::section()</li>
<li><a href="731d18f300"><code>731d18f</code></a> docs(examples): Fix help output</li>
<li><a href="6835dfa978"><code>6835dfa</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/3577">#3577</a> from samueltardieu/fix-arg-help-doc</li>
<li><a href="ef3c2c73d5"><code>ef3c2c7</code></a> docs: arg! macro uses double quotes for help string</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v3.1.6...v3.1.7">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=3.1.6&new-version=3.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
This Pull Request closes#1948.
It changes the following:
- set `readme` in `boa_engine` so `README.md` will be published to crates.io
- remove unnecessary `exclude` field from `Cargo.toml` in all apps
I was unsure whether using a path outside of the workspace root was allowed for `readme` since it [doesn't get included in the release tarball](https://github.com/rust-lang/cargo/issues/5911), but this exact path is used by [juniper](https://github.com/graphql-rust/juniper/blob/master/juniper/Cargo.toml#L13) and [seems to work there](https://crates.io/crates/juniper). I believe `cargo publish` does a bit more than just uploading the tarball, including pulling the `readme` from any arbitrary path.
The default behaviour of `cargo package`/`cargo publish` if neither `exclude` or `include` is specified is to include all files from the package root, excluding
- dotfiles
- .gitignore'd files
- subpackages (any subdirectory with a `Cargo.toml` file)
- the `/target` directory
There's no need to explicitly exclude files from the parent directory since they're already excluded by default. This can be verified by running `cargo package --list` inside any workspace app:
```plain
$ cd boa_wasm
$ cargo package --list
.gitignore
Cargo.toml
Cargo.toml.orig
src/lib.rs
```
You can read more [here](https://doc.rust-lang.org/cargo/reference/manifest.html#the-exclude-and-include-fields).
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.4 to 1.5.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's changelog</a>.</em></p>
<blockquote>
<h1>1.5.5 (2022-03-08)</h1>
<p>This releases fixes a security bug in the regex compiler. This bug permits a
vector for a denial-of-service attack in cases where the regex being compiled
is untrusted. There are no known problems where the regex is itself trusted,
including in cases of untrusted haystacks.</p>
<ul>
<li><a href="https://github.com/rust-lang/regex/security/advisories/GHSA-m5pq-gvj9-9vr8">SECURITY #GHSA-m5pq-gvj9-9vr8</a>:
Fixes a bug in the regex compiler where empty sub-expressions subverted the
existing mitigations in place to enforce a size limit on compiled regexes.
The Rust Security Response WG published an advisory about this:
<a href="https://groups.google.com/g/rustlang-security-announcements/c/NcNNL1Jq7Yw">https://groups.google.com/g/rustlang-security-announcements/c/NcNNL1Jq7Yw</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d130381b15"><code>d130381</code></a> 1.5.5</li>
<li><a href="ae70b41d4f"><code>ae70b41</code></a> security: fix denial-of-service bug in compiler</li>
<li><a href="b92ffd5471"><code>b92ffd5</code></a> cargo: use SPDX license format</li>
<li><a href="f6e52dafde"><code>f6e52da</code></a> syntax: fix 'unused' warnings</li>
<li><a href="5197f21287"><code>5197f21</code></a> fuzz: do not use inherits in Cargo.toml</li>
<li><a href="3662851482"><code>3662851</code></a> doc: fix typo</li>
<li><a href="63ee6699a2"><code>63ee669</code></a> syntax/doc: fix 'their' typo</li>
<li><a href="d6bc7a4c3b"><code>d6bc7a4</code></a> readme: remove broken badge</li>
<li><a href="bd7466034f"><code>bd74660</code></a> fuzz: try to fix build issue</li>
<li><a href="bd0a14231b"><code>bd0a142</code></a> readme: fix badges</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/regex/compare/1.5.4...1.5.5">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=regex&package-manager=cargo&previous-version=1.5.4&new-version=1.5.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
This removes all the calls to `unwrap()` in the codebase, which made me found a couple of places where it wasn't needed, and could be improved. I also noticed we don't have dependabot updates for the test262 submodule and the interner dependencies, so I added those.
I added lints so that no new unwraps are added.
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.78 to 1.0.79.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.79</h2>
<ul>
<li>Allow <code>RawValue</code> deserialization to propagate <code>\u</code> escapes for unmatched surrogates, which can later by deserialized to Vec<u8> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/830">#830</a>, thanks <a href="https://github.com/lucacasonato"><code>@lucacasonato</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7025523603"><code>7025523</code></a> Release 1.0.79</li>
<li><a href="7e56a406e5"><code>7e56a40</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/830">#830</a> from lucacasonato/support_lone_surrogates_in_raw_value</li>
<li><a href="977975ee65"><code>977975e</code></a> Ignore buggy ptr_arg clippy lint</li>
<li><a href="aa78d6ca4e"><code>aa78d6c</code></a> Resolve needless_borrow clippy lint</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.78...v1.0.79">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.78&new-version=1.0.79)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
This PR adds some Clippy lints. Mainly, it adds the list of pedantic lints excluding some lints that were causing too many warnings. I also denied some useful restriction and pedantic lints, to make sure we use `Self` all the possible times (for better maintainability), and that we pass elements by reference where possible, for example, or that the documentation is properly written.
This might even have some small performance gains.
I also added a perfect hash function for the CLI keywords, which should be more efficient than a `HashSet`. This is something we could use elsewhere too.
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.76 to 1.0.78.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.78</h2>
<ul>
<li>Support deserializing as <code>&RawValue</code> in map key position, which would previously fail with <em>"invalid type: newtype struct"</em> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/851">#851</a>)</li>
</ul>
<h2>v1.0.77</h2>
<ul>
<li>Include discord invite links in the published readme</li>
<li>Improve compile error on compiling with neither <code>std</code> nor <code>alloc</code> feature enabled</li>
<li>Include integration tests in published package (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/578">#578</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="98cafacefe"><code>98cafac</code></a> Release 1.0.78</li>
<li><a href="2d81cbd113"><code>2d81cbd</code></a> Move raw_value test imports to block of imports</li>
<li><a href="cbb0342ba0"><code>cbb0342</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/851">#851</a> from serde-rs/rawkey</li>
<li><a href="e5cdfcc7ee"><code>e5cdfcc</code></a> Support deserializing map key as &RawValue</li>
<li><a href="6a3fb68979"><code>6a3fb68</code></a> Add test of deserializing a &RawValue in map key position</li>
<li><a href="d8512af496"><code>d8512af</code></a> Release 1.0.77</li>
<li><a href="5fe9bdd356"><code>5fe9bdd</code></a> Improve error on compiling with neither std nor alloc</li>
<li><a href="4c15649318"><code>4c15649</code></a> Include integration tests in published package</li>
<li><a href="71257c5667"><code>71257c5</code></a> Add discord invite links</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.76...v1.0.78">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.76&new-version=1.0.78)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
This builds on top of #1758 to try to bring #1763 to life.
Something that should probably be done here would be to convert `JsString` to a `Sym` internally. Then, further optimizations could be done adding common strings to a custom interner type (those that we know statically).
This is definitely work in progress, but I would like to have feedback on the API, and feel free to contribute.
Co-authored-by: raskad <32105367+raskad@users.noreply.github.com>
This Pull Request is part of #279.
It adds a string interner to Boa, which allows many types to not contain heap-allocated strings, and just contain a `NonZeroUsize` instead. This can move types to the stack (hopefully I'll be able to move `Token`, for example, maybe some `Node` types too.
Note that the internet is for now only available in the lexer. Next steps (in this PR or future ones) would include also using interning in the parser, and finally in execution. The idea is that strings should be represented with a `Sym` until they are displayed.
Talking about display. I have changed the `ParseError` type in order to not contain anything that could contain a `Sym` (basically tokens), which might be a bit faster, but what is important is that we don't depend on the interner when displaying errors.
The issue I have now is in order to display tokens. This requires the interner if we want to know identifiers, for example. The issue here is that Rust doesn't allow using a `fmt::Formatter` (only in nightly), which is making my head hurt. Maybe someone of you can find a better way of doing this.
Then, about `cursor.expect()`, this is the only place where we don't have the expected token type as a static string, so it's failing to compile. We have the option of changing the type definition of `ParseError` to contain an owned string, but maybe we can avoid this by having a `&'static str` come from a `TokenKind` with the default values, such as "identifier" for an identifier. I wanted for you to think about it and maybe we can just add that and avoid allocations there.
Oh, and this depends on the VM-only branch, so that has to be merged before :)
Another thing to check: should the interner be in its own module?