Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.9.17 to 0.9.19.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/serde-yaml/releases">serde_yaml's releases</a>.</em></p>
<blockquote>
<h2>0.9.19</h2>
<ul>
<li>Fix message duplication between serde_yaml::Error's <code>Display</code> and <code>source()</code> (<a href="https://github-redirect.dependabot.com/dtolnay/serde-yaml/issues/359">#359</a>, <a href="https://github-redirect.dependabot.com/dtolnay/serde-yaml/issues/360">#360</a>)</li>
</ul>
<h2>0.9.18</h2>
<ul>
<li>Add support for emitting Unicode characters over codepoint U+FFFF (<a href="https://github-redirect.dependabot.com/dtolnay/serde-yaml/issues/356">#356</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4e1cbd8d2f"><code>4e1cbd8</code></a> Release 0.9.19</li>
<li><a href="f351fc7a12"><code>f351fc7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/serde-yaml/issues/360">#360</a> from dtolnay/errorsource</li>
<li><a href="f27e4c5da3"><code>f27e4c5</code></a> Fix message duplication between error Display and source()</li>
<li><a href="fc039c6357"><code>fc039c6</code></a> Refer to std::error::Error trait as StdError</li>
<li><a href="7f1db12843"><code>7f1db12</code></a> Release 0.9.18</li>
<li><a href="248d6de914"><code>248d6de</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/serde-yaml/issues/358">#358</a> from dtolnay/unicode</li>
<li><a href="779f01676b"><code>779f016</code></a> Update U+1F389 test</li>
<li><a href="12b48b5547"><code>12b48b5</code></a> Pull in Unicode high codepoints fix from unsafe-libyaml 0.2.7</li>
<li><a href="b6f69579df"><code>b6f6957</code></a> Add test of Unicode larger than U+FFFF</li>
<li><a href="eac69a2a0b"><code>eac69a2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/serde-yaml/issues/357">#357</a> from dtolnay/stringescape</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/serde-yaml/compare/0.9.17...0.9.19">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_yaml&package-manager=cargo&previous-version=0.9.17&new-version=0.9.19)](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 [indoc](https://github.com/dtolnay/indoc) from 2.0.0 to 2.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/indoc/releases">indoc's releases</a>.</em></p>
<blockquote>
<h2>2.0.1</h2>
<ul>
<li>Set html_root_url attribute</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="be271b7b81"><code>be271b7</code></a> Release 2.0.1</li>
<li><a href="b2ce0125c3"><code>b2ce012</code></a> Set html_root_url</li>
<li><a href="c48e82b535"><code>c48e82b</code></a> Ignore let_underscore_untyped pedantic clippy lint</li>
<li><a href="2da1152cf9"><code>2da1152</code></a> Revert "Resolve let_underscore_untyped pedantic clippy lint in test"</li>
<li><a href="d8eeca9b12"><code>d8eeca9</code></a> Resolve let_underscore_untyped pedantic clippy lint in test</li>
<li><a href="bbdb3a94f5"><code>bbdb3a9</code></a> Raise minimum tested compiler to 1.59</li>
<li><a href="39d542cd2a"><code>39d542c</code></a> Enable type layout randomization in CI on nightly</li>
<li><a href="8b812b97ff"><code>8b812b9</code></a> Support a manual trigger on CI workflow</li>
<li><a href="0661472de3"><code>0661472</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/indoc/issues/60">#60</a> from dtolnay/issue50</li>
<li><a href="9bee3db85e"><code>9bee3db</code></a> Add ui test of current behavior of capture in nested macro</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/indoc/compare/2.0.0...2.0.1">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=indoc&package-manager=cargo&previous-version=2.0.0&new-version=2.0.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 [rayon](https://github.com/rayon-rs/rayon) from 1.6.1 to 1.7.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rayon-rs/rayon/blob/master/RELEASES.md">rayon's changelog</a>.</em></p>
<blockquote>
<h1>Release rayon 1.7.0 / rayon-core 1.11.0 (2023-03-03)</h1>
<ul>
<li>The minimum supported <code>rustc</code> is now 1.59.</li>
<li>Added a fallback when threading is unsupported.</li>
<li>The new <code>ParallelIterator::take_any</code> and <code>skip_any</code> methods work like
unordered <code>IndexedParallelIterator::take</code> and <code>skip</code>, counting items in
whatever order they are visited in parallel.</li>
<li>The new <code>ParallelIterator::take_any_while</code> and <code>skip_any_while</code> methods work
like unordered <code>Iterator::take_while</code> and <code>skip_while</code>, which previously had
no parallel equivalent. The "while" condition may be satisfied from anywhere
in the parallel iterator, affecting all future items regardless of position.</li>
<li>The new <code>yield_now</code> and <code>yield_local</code> functions will cooperatively yield
execution to Rayon, either trying to execute pending work from the entire
pool or from just the local deques of the current thread, respectively.</li>
</ul>
<h1>Release rayon-core 1.10.2 (2023-01-22)</h1>
<ul>
<li>Fixed miri-reported UB for SharedReadOnly tags protected by a call.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7ffaf3463b"><code>7ffaf34</code></a> Merge <a href="https://github-redirect.dependabot.com/rayon-rs/rayon/issues/716">#716</a></li>
<li><a href="163003e0e3"><code>163003e</code></a> bump the release date</li>
<li><a href="f7d75532fc"><code>f7d7553</code></a> Release rayon 1.3.0 / rayon-core 1.7.0</li>
<li><a href="b98bb23f05"><code>b98bb23</code></a> Remove unneeded extern crate statements</li>
<li><a href="9b92c7deb9"><code>9b92c7d</code></a> cargo fmt</li>
<li><a href="e02f439bbf"><code>e02f439</code></a> Remove useless 'use crate;' in favor of the crate prelude</li>
<li><a href="a1db0fe390"><code>a1db0fe</code></a> Fix clippy::flat_map_identity</li>
<li><a href="4e4025693f"><code>4e40256</code></a> Update ci/compat-Cargo.lock</li>
<li><a href="1f9d117d51"><code>1f9d117</code></a> Remove cfg(rayon_unstable)</li>
<li><a href="198ca7f6aa"><code>198ca7f</code></a> Remove rayon-futures</li>
<li>Additional commits viewable in <a href="https://github.com/rayon-rs/rayon/compare/rayon-core-v1.6.1...rayon-core-v1.7.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rayon&package-manager=cargo&previous-version=1.6.1&new-version=1.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>
This PR migrates our entire test suite to our new testing API.
It changes the following:
- Migrates tests to new test API.
- Cleans up the API to be a bit more descriptive and maintainable.
- Prettifies our test failure display to show the failed scripts.
- Splits our massive `tests.rs` file into smaller sub-suites.
Example output of a failing test:
![image](https://user-images.githubusercontent.com/38230983/221502567-9e219371-b4ab-49d0-b42b-94a9b1a9c002.png)
<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel necessary.
--->
This Pull Request fixes/closes https://github.com/boa-dev/boa/issues/1671
It changes the following:
- This PR tries to fix https://rustsec.org/advisories/RUSTSEC-2020-0071 in `boa_engine` crate by removing `time 0.1` from the dependency tree
`cargo tree -p boa_engine | grep time`
before:
```console
│ ├── iana-time-zone v0.1.53
│ └── time v0.1.45
│ │ └── toml_datetime v0.5.1
```
after:
```console
│ ├── iana-time-zone v0.1.53
│ │ └── toml_datetime v0.5.1
```
Bumps [clap](https://github.com/clap-rs/clap) from 4.1.7 to 4.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>v4.1.8</h2>
<h2>[4.1.8] - 2023-02-27</h2>
<h3>Fixes</h3>
<ul>
<li><em>(derive)</em> Don't <code>deny</code> lints on the users behalf</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>[4.1.8] - 2023-02-27</h2>
<h3>Fixes</h3>
<ul>
<li><em>(derive)</em> Don't <code>deny</code> lints on the users behalf</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f931de694a"><code>f931de6</code></a> chore: Release</li>
<li><a href="dbab081393"><code>dbab081</code></a> docs: Update changelog</li>
<li><a href="70818c3aef"><code>70818c3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4739">#4739</a> from MingweiSamuel/nodeny</li>
<li><a href="fa76f6f78d"><code>fa76f6f</code></a> fix: Remove strict linting from generated code</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v4.1.7...v4.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=4.1.7&new-version=4.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 [monaco-editor](https://github.com/microsoft/monaco-editor) from 0.36.0 to 0.36.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/monaco-editor/blob/main/CHANGELOG.md">monaco-editor's changelog</a>.</em></p>
<blockquote>
<h2>[0.36.1]</h2>
<ul>
<li>Marks unneeded dependencies as dev dependencies.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6c56744c34"><code>6c56744</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/3607">#3607</a> from microsoft/hediet/capable-iguana</li>
<li><a href="a79b034ec4"><code>a79b034</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/3609">#3609</a> from microsoft/hediet/annual-eagle</li>
<li><a href="894e86a863"><code>894e86a</code></a> Updates changelog</li>
<li><a href="30e55994a5"><code>30e5599</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/3606">#3606</a> from microsoft/hediet/smart-puma</li>
<li><a href="05cbb29410"><code>05cbb29</code></a> Sets version to 0.36.1</li>
<li><a href="1d29a6420a"><code>1d29a64</code></a> Fixes <a href="https://github-redirect.dependabot.com/microsoft/monaco-editor/issues/3601">#3601</a></li>
<li>See full diff in <a href="https://github.com/microsoft/monaco-editor/compare/v0.36.0...v0.36.1">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=monaco-editor&package-manager=npm_and_yarn&previous-version=0.36.0&new-version=0.36.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 [clap](https://github.com/clap-rs/clap) from 4.1.6 to 4.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>v4.1.7</h2>
<h2>[4.1.7] - 2023-02-27</h2>
<h3>Fixes</h3>
<ul>
<li><em>(derive)</em> Hide some nightly clippy warnings</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>[4.1.7] - 2023-02-27</h2>
<h3>Fixes</h3>
<ul>
<li><em>(derive)</em> Hide some nightly clippy warnings</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5f247f5181"><code>5f247f5</code></a> chore: Release</li>
<li><a href="1999d85178"><code>1999d85</code></a> docs: Update changelog</li>
<li><a href="c3a942e376"><code>c3a942e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4735">#4735</a> from rkrasiuk/rkrasiuk/fix-almost-swapped-lint</li>
<li><a href="5bab68a16f"><code>5bab68a</code></a> fix: Allow <code>clippy::almost_swapped</code></li>
<li><a href="872135b64f"><code>872135b</code></a> fix: Allow <code>clippy::almost_swapped</code></li>
<li><a href="84a9b53cee"><code>84a9b53</code></a> chore: Release</li>
<li><a href="9fa48d5f92"><code>9fa48d5</code></a> docs: Update changelog</li>
<li><a href="e9535a3618"><code>e9535a3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4734">#4734</a> from XiaoXiaoSN/master</li>
<li><a href="0f3e729358"><code>0f3e729</code></a> feat(complete): Support to run ZSH completion as a script</li>
<li><a href="cdb33b6ad2"><code>cdb33b6</code></a> test(complete): Adjust bash snapshot</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v4.1.6...v4.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=4.1.6&new-version=4.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>
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.108 to 1.0.109.
<details>
<summary>Commits</summary>
<ul>
<li><a href="bfa790b8e4"><code>bfa790b</code></a> Release 1.0.109</li>
<li><a href="c182545939"><code>c182545</code></a> Restore compatibility with rust 1.31</li>
<li>See full diff in <a href="https://github.com/dtolnay/syn/compare/1.0.108...1.0.109">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=1.0.108&new-version=1.0.109)](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 [test262](https://github.com/tc39/test262) from `76a14bf` to `d216cc1`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="d216cc1972"><code>d216cc1</code></a> asyncHelpers implementation: Apply suggestions from code review</li>
<li><a href="eb44f67274"><code>eb44f67</code></a> asyncHelpers tests: Address code review feedback</li>
<li><a href="e0d5b780e7"><code>e0d5b78</code></a> Update CONTRIBUTING.md to suggest using asyncHelpers</li>
<li><a href="4fe158d39d"><code>4fe158d</code></a> Generated tests for refactoring (IIFE/async function).then($DONE, $DONE); t...</li>
<li><a href="4d9d5c570d"><code>4d9d5c5</code></a> Refactor simple cases of (IIFE/async function).then($DONE, $DONE); to use a...</li>
<li><a href="1d116b48a9"><code>1d116b4</code></a> harness/asyncHelpers.js: Refactor asyncTest to always return undefined instea...</li>
<li><a href="d810c684ae"><code>d810c68</code></a> harness/asyncHelpers.js: Refactor assert.throwsAsync to only accept a callable</li>
<li><a href="4bd0545b29"><code>4bd0545</code></a> harness/asyncHelpers.js: Remove dependency on Promise.</li>
<li><a href="98952c3c51"><code>98952c3</code></a> harness/asyncHelpers.js: Refactor assert.throwsAsync to be async function</li>
<li><a href="0294bea997"><code>0294bea</code></a> Harness tests for asyncHelpers.js' assert.throwsAsync function</li>
<li>Additional commits viewable in <a href="76a14bf659...d216cc1972">compare view</a></li>
</ul>
</details>
<br />
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>
Keep Integer type after running unary increment/decrement ops if possible. The integer type will be useful to take fast paths for accessing index properties. (e.g., `let a = 1; arr[++a]`)
~~Builds off of #2529.~~ Merged.
This Pull Request allows passing any function returning `impl Future<Output = JsResult<JsValue>>` to the `NativeFunction` constructor, allowing native concurrency hooks into the engine.
It changes the following:
- Adds a `NativeFunction::from_async_fn` function.
- Adds a new `JobQueue::enqueue_future_job` method.
- Adds an example usage on `boa_examples`.
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.107 to 1.0.108.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p>
<blockquote>
<h2>1.0.108</h2>
<ul>
<li>Fix handling of unusual whitespace after escaped newlines in <code>LitStr::value</code> (<a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/1381">#1381</a>, thanks <a href="https://github.com/ModProg"><code>@ModProg</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="01f69e937c"><code>01f69e9</code></a> Release 1.0.108</li>
<li><a href="62d0aeda48"><code>62d0aed</code></a> stricter parsing of string_continue escapes</li>
<li>See full diff in <a href="https://github.com/dtolnay/syn/compare/1.0.107...1.0.108">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=1.0.107&new-version=1.0.108)](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 [test262](https://github.com/tc39/test262) from `1c47728` to `76a14bf`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="76a14bf659"><code>76a14bf</code></a> Temporal: Tests for reference ISO dates</li>
<li><a href="a29788dd5d"><code>a29788d</code></a> Temporal: Tests for calendar-specific mergeFields</li>
<li><a href="6d7925a2d2"><code>6d7925a</code></a> fixup: Changes based on 1st RFC experience</li>
<li><a href="44c5e632fd"><code>44c5e63</code></a> RFC process documentation</li>
<li><a href="62df2cadef"><code>62df2ca</code></a> Correct typos</li>
<li><a href="ac098dbe6a"><code>ac098db</code></a> Apply suggestions from code review</li>
<li><a href="97477ad1f6"><code>97477ad</code></a> fixup! Document rationale for some maintenance practices</li>
<li><a href="f59823860e"><code>f598238</code></a> fixup! Document rationale for some maintenance practices</li>
<li><a href="17238ca018"><code>17238ca</code></a> fixup! Document rationale for some maintenance practices</li>
<li><a href="7e190c786d"><code>7e190c7</code></a> Document rationale for some maintenance practices</li>
<li>Additional commits viewable in <a href="1c47728a20...76a14bf659">compare view</a></li>
</ul>
</details>
<br />
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>
Similar to #2604, `GetPropertyByName`/`SetPropertyByName` has only string property key. So, we can skip index and utf16 conversions.
This improves QuickJS benchmark score 5.8% on average.
Richards: 37.0 -> 41.2
DeltaBlue: 38.1 -> 41.4
Crypto: 59.6 -> 59.8
RayTrace: 146 -> 159
EarleyBoyer: 138 -> 142
Splay: 104 -> 106
NavierStokes: 10.2 -> 10.3
This Pull Request closes#1907.
It changes the following:
- Implement several early errors relating to labels, `break` and `continue` in the parser.
- Implement an early error for invalid cover grammar of object literals in the parser.
- Remove all remaining syntax errors from the bytecompiler.
This Pull Request fixes#2605.
It changes the following:
- Adds a CI check to run `cargo test --doc` since `nextest` doesn't support doc tests at the moment.
- Fixes the failing doc tests.
When a rust string literal is given for a property key, boa checks if it can be parsed as an index and converts the string into a utf16 slice. This PR rewrites each hard-coded property key as a utf16 slice so that we can bypass those conversions at runtime.
This improves QuickJS benchmark score 5% on average.
Richards: 35.4 -> 37.0
DeltaBlue: 35.0 -> 38.1
Crypto: 57.6 -> 59.6
RayTrace: 137 -> 146
EarleyBoyer: 131 -> 138
Splay: 98.3 -> 104
NavierStokes: 10.2 -> 10.2
Bumps [clap](https://github.com/clap-rs/clap) from 4.1.4 to 4.1.6.
<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>v4.1.6</h2>
<h2>[4.1.6] - 2023-02-15</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Don't show long help for <code>--help</code> just because hidden possible values include a description</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>[4.1.6] - 2023-02-15</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Don't show long help for <code>--help</code> just because hidden possible values include a description</li>
</ul>
<h2>[4.1.5] - 2023-02-15</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Don't show long help for <code>--help</code> just because a hidden arg has a possible value with a description</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5e240dddee"><code>5e240dd</code></a> chore: Release</li>
<li><a href="4648b6b49d"><code>4648b6b</code></a> docs: Update changelog</li>
<li><a href="8c92ef6c76"><code>8c92ef6</code></a> fix(help): Fix yet another --help long help edge case (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4712">#4712</a>)</li>
<li><a href="fb9435d026"><code>fb9435d</code></a> chore: Release</li>
<li><a href="9270d2382e"><code>9270d23</code></a> docs: Update changelog</li>
<li><a href="473cf175a2"><code>473cf17</code></a> fix(help): Fix --help help text in edge case (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4710">#4710</a>)</li>
<li><a href="62da8f94b9"><code>62da8f9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4711">#4711</a> from aleksanderkrauze/improve-builder-str-inner-into...</li>
<li><a href="d6e7d4699f"><code>d6e7d46</code></a> Improve builder::str::inner::Inner::into_string implementation</li>
<li><a href="ad5d67623a"><code>ad5d676</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4696">#4696</a> from graves501/patch-1</li>
<li><a href="ad6778d206"><code>ad6778d</code></a> Fix typo in git.rs</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v4.1.4...v4.1.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=4.1.4&new-version=4.1.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>
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.17.0 to 1.17.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/matklad/once_cell/blob/master/CHANGELOG.md">once_cell's changelog</a>.</em></p>
<blockquote>
<h2>1.17.1</h2>
<ul>
<li>Make <code>OnceRef</code> implementation compliant with <a href="https://github-redirect.dependabot.com/rust-lang/rust/issues/95228">strict provenance</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="35148638c5"><code>3514863</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/222">#222</a></li>
<li><a href="f0ad5f083d"><code>f0ad5f0</code></a> Bump version to 1.17.1 and update the changelog.</li>
<li><a href="78ab172105"><code>78ab172</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/219">#219</a></li>
<li><a href="6e351e5204"><code>6e351e5</code></a> Use AtomicPtr for race::OnceRef to avoid ptr-int-ptr casts (keeping</li>
<li><a href="d706539c6f"><code>d706539</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/214">#214</a></li>
<li><a href="cc07949250"><code>cc07949</code></a> Explain safety of <code>unsync::OnceCell::get(&self)</code> in more detail</li>
<li><a href="af9d29c966"><code>af9d29c</code></a> drop useless arg</li>
<li>See full diff in <a href="https://github.com/matklad/once_cell/compare/v1.17.0...v1.17.1">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=once_cell&package-manager=cargo&previous-version=1.17.0&new-version=1.17.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 [test262](https://github.com/tc39/test262) from `e7364ea` to `1c47728`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="1c47728a20"><code>1c47728</code></a> Remove failing tests for CalendarFields and CalendarMergeFields</li>
<li><a href="b17b9411e0"><code>b17b941</code></a> Update DurationFormat and FormatToParts tests</li>
<li><a href="01425696e6"><code>0142569</code></a> Push into calls array in calendar and timeZone observers.</li>
<li><a href="408ecd0987"><code>408ecd0</code></a> ArrayBuffer.prototype.detached tests</li>
<li><a href="780b7b806e"><code>780b7b8</code></a> Add test to approximately format</li>
<li><a href="f5e2214b30"><code>f5e2214</code></a> Swap call order of NumberFormat's notation and roundingIncrement options</li>
<li><a href="d03f11a81b"><code>d03f11a</code></a> Fix ArrayBuffer#transfer tests to preserve maxByteLength</li>
<li>See full diff in <a href="e7364ea7dc...1c47728a20">compare view</a></li>
</ul>
</details>
<br />
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.92 to 1.0.93.
<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.93</h2>
<ul>
<li>Support 128-bit integers in serde_json::to_value (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/982">#982</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0ebeede28a"><code>0ebeede</code></a> Release 1.0.93</li>
<li><a href="4fd48503de"><code>4fd4850</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/982">#982</a> from serde-rs/integer128tovalue</li>
<li><a href="e3d13cd61a"><code>e3d13cd</code></a> Support 128-bit integers in to_value</li>
<li><a href="f77ad4750f"><code>f77ad47</code></a> Add test of integer128 to_value</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.92...v1.0.93">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.92&new-version=1.0.93)](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 [toml](https://github.com/toml-rs/toml) from 0.7.1 to 0.7.2.
<details>
<summary>Commits</summary>
<ul>
<li><a href="388d9b94dc"><code>388d9b9</code></a> chore: Release</li>
<li><a href="ffc0629027"><code>ffc0629</code></a> docs: Update changelog</li>
<li><a href="8003187ebc"><code>8003187</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/toml-rs/toml/issues/513">#513</a> from epage/u64</li>
<li><a href="d6964ab7b3"><code>d6964ab</code></a> fix(ser): Error on too-large u64</li>
<li><a href="cd4139fb8e"><code>cd4139f</code></a> test(serde): Demonstrate u64::MAX bug</li>
<li><a href="c8e6d3d1d1"><code>c8e6d3d</code></a> chore: Release</li>
<li><a href="379c8b6e01"><code>379c8b6</code></a> docs: Update changelog</li>
<li><a href="36ca0b9cea"><code>36ca0b9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/toml-rs/toml/issues/510">#510</a> from epage/dup</li>
<li><a href="fc59238f9a"><code>fc59238</code></a> fix(parser): Error on duplicate table created as dotted</li>
<li><a href="e006c77e43"><code>e006c77</code></a> test(parser): Demonstrate duplicate table bug</li>
<li>Additional commits viewable in <a href="https://github.com/toml-rs/toml/compare/toml-v0.7.1...toml-v0.7.2">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml&package-manager=cargo&previous-version=0.7.1&new-version=0.7.2)](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 [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.50 to 1.0.51.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/proc-macro2/releases">proc-macro2's releases</a>.</em></p>
<blockquote>
<h2>1.0.51</h2>
<ul>
<li>Implement rustc's limit on the number of <code>#</code> used for delimiting a raw string literal: 255 (<a href="https://github-redirect.dependabot.com/dtolnay/proc-macro2/issues/364">#364</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="bc369f088f"><code>bc369f0</code></a> Release 1.0.51</li>
<li><a href="ec804f1267"><code>ec804f1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/proc-macro2/issues/364">#364</a> from dtolnay/hashes</li>
<li><a href="dffd53caa1"><code>dffd53c</code></a> Reduce max hash in raw strings to 255</li>
<li><a href="f0a3490e97"><code>f0a3490</code></a> Add raw string literal test cases</li>
<li><a href="3b90e7d1ed"><code>3b90e7d</code></a> Ignore items_after_statements pedantic clippy lint</li>
<li><a href="bce0e5f0ab"><code>bce0e5f</code></a> Consistently use Self in the return of From impls</li>
<li><a href="3915aeedc6"><code>3915aee</code></a> Speed up cargo fuzz CI job</li>
<li>See full diff in <a href="https://github.com/dtolnay/proc-macro2/compare/1.0.50...1.0.51">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=proc-macro2&package-manager=cargo&previous-version=1.0.50&new-version=1.0.51)](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.91 to 1.0.92.
<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.92</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a9c984f13e"><code>a9c984f</code></a> Release 1.0.92</li>
<li><a href="c42b724c14"><code>c42b724</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/980">#980</a> from serde-rs/docrepr</li>
<li><a href="eaa287cb3a"><code>eaa287c</code></a> Hide repr attribute from documentation</li>
<li><a href="7bc6c86310"><code>7bc6c86</code></a> RawValue -> repr(transparent)</li>
<li><a href="e41ee42d92"><code>e41ee42</code></a> Update indoc dev-dependency to version 2</li>
<li><a href="8cebe89500"><code>8cebe89</code></a> Speed up cargo fuzz CI job</li>
<li><a href="74f510e56d"><code>74f510e</code></a> Sync license text with rust-lang repos</li>
<li><a href="557f45c404"><code>557f45c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/964">#964</a> from dtolnay/docsrs</li>
<li><a href="9edf7fa9b3"><code>9edf7fa</code></a> Replace docs.serde.rs links with intra-rustdoc links</li>
<li><a href="9947ae606e"><code>9947ae6</code></a> Point documentation links to docs.rs instead of docs.serde.rs</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.91...v1.0.92">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.91&new-version=1.0.92)](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 [test262](https://github.com/tc39/test262) from `ad034f3` to `e7364ea`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="e7364ea7dc"><code>e7364ea</code></a> Temporal: Tests for upper limit on rounding increments</li>
<li><a href="8aeab83c98"><code>8aeab83</code></a> Temporal: Adjustments to order-of-operations tests</li>
<li><a href="788bc809bf"><code>788bc80</code></a> Update DateTimeFormat proleptic Gregorian testing to include era (<a href="https://github-redirect.dependabot.com/tc39/test262/issues/3722">#3722</a>)</li>
<li><a href="a157570ddc"><code>a157570</code></a> Regularize some of the "calendar-temporal-object" tests</li>
<li><a href="374aac475d"><code>374aac4</code></a> Regularize "calendar-case-insensitive" tests</li>
<li><a href="8700c92095"><code>8700c92</code></a> Temporal: Remove subsumed intl402 custom Calendar/TimeZone tests</li>
<li><a href="ea10ca0cc6"><code>ea10ca0</code></a> Temporal: Add intl402 custom Calendar/TimeZone tests to cover rejection of in...</li>
<li><a href="f9a62a4eb1"><code>f9a62a4</code></a> Temporal: Update custom Calendar/TimeZone tests to cover rejection of invalid...</li>
<li><a href="703873e1ca"><code>703873e</code></a> Test Array.prototype.findLast* length clamping</li>
<li>See full diff in <a href="ad034f3230...e7364ea7dc">compare view</a></li>
</ul>
</details>
<br />
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 [icu_datagen](https://github.com/unicode-org/icu4x) from 1.1.0 to 1.1.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/unicode-org/icu4x/commits">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=icu_datagen&package-manager=cargo&previous-version=1.1.0&new-version=1.1.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>
<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel necessary.
--->
This Pull Request is meant to address #1900. While working on it, there was a decent amount of refactoring/restructuring. Initially, I had kept with the current approach of just keeping track of a kind and counter on the environment stack, especially because that kept the size of each stack entry to a minimum.
I did, however, make a switch to having the opcode create the `EnvStackEntry` with a start address and exit address for a bit more precision.
It changes the following:
- Consolidates `loop_env_stack` and `try_env_stack` into one `EnvStackEntry` struct.
- Changes `Continue`, `Break`, `LoopStart`, `LoopContinue`, `FinallyStart`, `FinallyEnd` and various others. Most of this primarily revolves around the creating of `EnvStackEntry` and interacting with the `env_stack`.
- Changes/updates the try-catch-finally, break and continue statement compilations as necessary
- Adds an `AbruptCompletionRecord` in place of the `finally_jump` vector.
- Adds some tests for try-catch-finally blocks with breaks.
I'm creating this draft PR, since I wanted to have some early feedback, and because I though I would have time to finish it last week, but I got caught up with other stuff. Feel free to contribute :)
The main thing here is that I have divided `eval()`, `parse()` and similar functions so that they can decide if they are parsing scripts or modules. Let me know your thoughts.
Then, I was checking the import & export parsing, and I noticed we are using `TokenKind::Identifier` for `IdentifierName`, so I changed that name. An `Identifier` is an `IdentifierName` that isn't a `ReservedWord`. This means we should probably also adapt all `IdentifierReference`, `BindingIdentifier` and so on parsing. I already created an `Identifier` parser.
Something interesting there is that `await` is not a valid `Identifier` if the goal symbol is `Module`, as you can see in the [spec](https://tc39.es/ecma262/#prod-LabelIdentifier), but currently we don't have that information in the `InputElement` enumeration, we only have `Div`, `RegExp` and `TemplateTail`. How could we approach this?
Co-authored-by: jedel1043 <jedel0124@gmail.com>
Hi,
the `vm-implied` fuzzer panics when executing this testcase:
```javascript
try {
new function() {
while (this) {}
}();
} catch {
}
```
`internal error: entered unreachable code: The NoInstructionsRemain native error cannot be converted to an opaque type`
Handling the `NoInstructionsRemain` error upfront instead of going through the VM exception handling logic seems to work.
<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel necessary.
--->
Adding a feature flag to the console import in `builtins`. I think this should fix the failing action on the `Upload docs and run benchmarks` step
This Pull Request changes the following:
- Implement binary `in` operation with private names.
- Adding a separate `BinaryInPrivate` expression in addition to the existing `Binary` expression seems like the best way to implement this in a typesafe manner. Other methods like adding an enum for the `Binary` lhs result in having to make assertions.
Small (ish?) step towards having proper realm records
This PR changes the following:
- Moves `Intrinsics` to `Realm`.
- Cleans up the initialization logic of our intrinsics to not depend on `Context`, unblocking things like #2314.
- Adds hooks to initialize the global object and the global this per the corresponding [`InitializeHostDefinedRealm ( )`](https://tc39.es/ecma262/#sec-initializehostdefinedrealm) hook. Though, this is currently broken because the vm uses `GlobalPropertyMap` instead of the `JsObject` API to initialize global properties.
This Pull Request changes the following:
- Move postfix/prefix increment and decrement operations from the `Unary` expression to a new `Update` expression.
- Add a special type for the `Update` expression target as it is very limited in comparision to an `Unary` target.
- This makes bytecode compilation more typesafe for these operations and removes syntax errors from the bytecompiler without introducing panics (see #1907).
Another change extracted from #2411.
This PR changes the following:
- Improves our identifier parsing with a new `Identifier` parser that unifies parsing for `IdentifierReference`, `BindingIdentifier` and `LabelIdentifier`.
- Slightly improves some error messages.
- Extracts our manual initialization of static `Sym`s with a new `static_syms` proc macro.
- Adds `set_module_mode` and `module_mode` to the cursor to prepare for modules.
Bumps [toml](https://github.com/toml-rs/toml) from 0.7.0 to 0.7.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="9a80a7878f"><code>9a80a78</code></a> chore: Release</li>
<li><a href="e90b292847"><code>e90b292</code></a> chore: Update release process</li>
<li><a href="410ee66dba"><code>410ee66</code></a> docs: Update changelog</li>
<li><a href="03bd12786f"><code>03bd127</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/toml-rs/toml/issues/502">#502</a> from robjtede/doc-features</li>
<li><a href="f2e6c0efc8"><code>f2e6c0e</code></a> docs(toml): display feature guarded items on docs.rs</li>
<li><a href="2d728d4b00"><code>2d728d4</code></a> docs(toml-edit): display feature guarded items on docs.rs</li>
<li><a href="5df84a5cd4"><code>5df84a5</code></a> docs(toml-datetime): display feature guarded items on docs.rs</li>
<li><a href="08ad143a50"><code>08ad143</code></a> docs(serde-spanned): display feature guarded items on docs.rs</li>
<li><a href="55d44e73c6"><code>55d44e7</code></a> docs(toml): Point people to 'toml_edit'</li>
<li>See full diff in <a href="https://github.com/toml-rs/toml/compare/toml-v0.7.0...toml-v0.7.1">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml&package-manager=cargo&previous-version=0.7.0&new-version=0.7.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>
Slightly related to #2411 since we need an API to pass module files, but more useful for #1760, #1313 and other error reporting issues.
It changes the following:
- Introduces a new `Source` API to store the path of a provided file or `None` if the source is a plain string.
- Improves the display of `boa_tester` to show the path of the tests being run. This also enables hyperlinks to directly jump to the tested file from the VS terminal.
- Adjusts the repo to this change.
Hopefully, this will improve our error display in the future.