Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.65 to 1.0.66.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.66</h2>
<ul>
<li>Reduce unhelpful backtrace frames in backtraces captured during a <code>context</code> call (<a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/279">#279</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8de29aafd4"><code>8de29aa</code></a> Release 1.0.66</li>
<li><a href="54fc812209"><code>54fc812</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/279">#279</a> from dtolnay/contextbacktrace</li>
<li><a href="131249b11c"><code>131249b</code></a> Remove 2 frames of noise from 'context' backtraces</li>
<li><a href="f2123ab51b"><code>f2123ab</code></a> Ui test changes for trybuild 1.0.66</li>
<li><a href="9bd74a1540"><code>9bd74a1</code></a> Restore pre-nightly-2022-10-05 behavior of test_path PhantomData tests</li>
<li><a href="77c4fa4566"><code>77c4fa4</code></a> Update test suite to nightly-2022-10-05</li>
<li><a href="7b171d651d"><code>7b171d6</code></a> Ignore bool_to_int_with_if clippy lint in test suite</li>
<li><a href="94ae34b0d5"><code>94ae34b</code></a> Raise minimum tested toolchain to rust 1.56</li>
<li><a href="94f6f4df66"><code>94f6f4d</code></a> Remove default package.readme metadata from Cargo.toml</li>
<li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.65...1.0.66">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.65&new-version=1.0.66)](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.86 to 1.0.87.
<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.87</h2>
<ul>
<li>Add <code>write_i128</code> and <code>write_u128</code> methods to <code>serde_json::Formatter</code> to control the formatting of 128-bit integers (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/940">#940</a>, thanks <a href="https://github.com/Lucretiel"><code>@Lucretiel</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="993e7a6eea"><code>993e7a6</code></a> Release 1.0.87</li>
<li><a href="31070349af"><code>3107034</code></a> Eliminate needless 'tri!' from Serializer impl</li>
<li><a href="46c9778ce1"><code>46c9778</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/942">#942</a> from serde-rs/integer128</li>
<li><a href="37e76e0f85"><code>37e76e0</code></a> Assume serde_if_integer128 is true</li>
<li><a href="ec0456ad7b"><code>ec0456a</code></a> Use existing macros to implement 128-bit From impls</li>
<li><a href="c183125e04"><code>c183125</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/941">#941</a> from serde-rs/alloc</li>
<li><a href="ab0f884fb6"><code>ab0f884</code></a> Delete 1.36+ caveat from descriptions of alloc feature</li>
<li><a href="486598bbef"><code>486598b</code></a> Merge pull request 940 from Lucretiel/int128</li>
<li><a href="84d6d95e01"><code>84d6d95</code></a> Add direct support for i128 and u128 via itoa</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.86...v1.0.87">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.86&new-version=1.0.87)](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 is an experiment that tries to migrate the codebase from eager `Error` objects to lazy ones.
In short words, this redefines `JsResult = Result<JsValue, JsError>`, where `JsError` is a brand new type that stores only the essential part of an error type, and only transforms those errors to `JsObject`s on demand (when having to pass them as arguments to functions or store them inside async/generators).
This change is pretty big, because it unblocks a LOT of code from having to take a `&mut Context` on each call. It also paves the road for possibly making `JsError` a proper variant of `JsValue`, which can be a pretty big optimization for try/catch.
A downside of this is that it exposes some brand new error types to our public API. However, we can now implement `Error` on `JsError`, making our `JsResult` type a bit more inline with Rust's best practices.
~Will mark this as draft, since it's missing some documentation and a lot of examples, but~ it's pretty much feature complete. As always, any comments about the design are very much appreciated!
Note: Since there are a lot of changes which are essentially just rewriting `context.throw` to `JsNativeError::%type%`, I'll leave an "index" of the most important changes here:
- [boa_engine/src/error.rs](https://github.com/boa-dev/boa/pull/2283/files#diff-f15f2715655440626eefda5c46193d29856f4949ad37380c129a8debc6b82f26)
- [boa_engine/src/builtins/error/mod.rs](https://github.com/boa-dev/boa/pull/2283/files#diff-3eb1e4b4b5c7210eb98192a5277f5a239148423c6b970c4ae05d1b267f8f1084)
- [boa_tester/src/exec/mod.rs](https://github.com/boa-dev/boa/pull/2283/files#diff-fc3d7ad7b5e64574258c9febbe56171f3309b74e0c8da35238a76002f3ee34d9)
Bumps [clap](https://github.com/clap-rs/clap) from 4.0.16 to 4.0.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>v4.0.17</h2>
<h2>[4.0.17] - 2022-10-18</h2>
<h3>Fixes</h3>
<ul>
<li>Allow using <code>Arg::last(true)</code> with <code>Arg::value_hint(ValueHint::CommandWithArguments)</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>[4.0.17] - 2022-10-18</h2>
<h3>Fixes</h3>
<ul>
<li>Allow using <code>Arg::last(true)</code> with <code>Arg::value_hint(ValueHint::CommandWithArguments)</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b9dfbbf7e4"><code>b9dfbbf</code></a> chore: Release</li>
<li><a href="a6c8f6a5bd"><code>a6c8f6a</code></a> docs: Update changelog</li>
<li><a href="e11afa284b"><code>e11afa2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4401">#4401</a> from epage/last</li>
<li><a href="1ead5ef421"><code>1ead5ef</code></a> fix(complete): Support last(true) with CommandWithArguments</li>
<li><a href="e50a11a404"><code>e50a11a</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4399">#4399</a> from j-browne/link-fix</li>
<li><a href="a1d4476f24"><code>a1d4476</code></a> Fix a broken link in ValueEnum docs</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v4.0.16...v4.0.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=4.0.16&new-version=4.0.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 [test262](https://github.com/tc39/test262) from `eb67a76` to `ee7c379`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="ee7c379375"><code>ee7c379</code></a> Harness: Ensure $DONE called only once in async-gc.js</li>
<li><a href="1bb7ecee5b"><code>1bb7ece</code></a> Harness: Account for Symbols being thrown in async tests</li>
<li><a href="554a18c34d"><code>554a18c</code></a> Add tests for regular and well-known Symbols as weak values</li>
<li><a href="a10968b462"><code>a10968b</code></a> Add "Symbols as WeakMap keys" feature flag</li>
<li><a href="d101ab9bc4"><code>d101ab9</code></a> Adapt descriptions of existing tests using Objects as weak values</li>
<li><a href="6291e42a72"><code>6291e42</code></a> Adapt existing tests regarding Symbols as weak values</li>
<li><a href="735f95adf5"><code>735f95a</code></a> Add WeakMap and WeakSet features to tests affected by symbols-as-weakmap-keys</li>
<li><a href="145c440069"><code>145c440</code></a> Remove duplicate WeakSet test</li>
<li><a href="01f73e96ca"><code>01f73e9</code></a> Temporal: Add tests for avoiding observable iteration in CalendarFields</li>
<li><a href="1550f7f7e1"><code>1550f7f</code></a> Temporal: Test that the offset option has the last word in ZDT.from()</li>
<li>Additional commits viewable in <a href="eb67a7689f...ee7c379375">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 [monaco-editor](https://github.com/microsoft/monaco-editor) from 0.34.0 to 0.34.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.34.1]</h2>
<ul>
<li>Adds API to register global actions, commands, or keybinding rules</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/microsoft/monaco-editor/commits">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.34.0&new-version=0.34.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.0.12 to 4.0.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>v4.0.16</h2>
<h2>[4.0.16] - 2022-10-18</h2>
<h3>Fixes</h3>
<ul>
<li><code>Arg::exclusive(true)</code> should not be exclusive with the argument's own <code>ArgGroup</code></li>
</ul>
<h2>v4.0.15</h2>
<h2>[4.0.15] - 2022-10-13</h2>
<h3>Fixes</h3>
<ul>
<li><em>(error)</em> Don't suggest <code>--</code> when it doesn't help</li>
<li><em>(error)</em> Be more consistent in quoting, punctuation, and indentation in errors</li>
</ul>
<h2>v4.0.14</h2>
<h2>[4.0.14] - 2022-10-12</h2>
<h3>Fixes</h3>
<ul>
<li>Only put <code>ArgGroup</code> in <code>ArgMatches</code> when explicitly specified, fixing derives handling of option-flattened fields (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4375">#4375</a>)</li>
</ul>
<h2>v4.0.13</h2>
<h2>[4.0.13] - 2022-10-11</h2>
<h3>Features</h3>
<ul>
<li><em>(derive)</em> Allow <code>()</code> for fields to mean "don't read" (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4371">#4371</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>[4.0.16] - 2022-10-18</h2>
<h3>Fixes</h3>
<ul>
<li><code>Arg::exclusive(true)</code> should not be exclusive with the argument's own <code>ArgGroup</code></li>
</ul>
<h2>[4.0.15] - 2022-10-13</h2>
<h3>Fixes</h3>
<ul>
<li><em>(error)</em> Don't suggest <code>--</code> when it doesn't help</li>
<li><em>(error)</em> Be more consistent in quoting, punctuation, and indentation in errors</li>
</ul>
<h2>[4.0.14] - 2022-10-12</h2>
<h3>Fixes</h3>
<ul>
<li>Only put <code>ArgGroup</code> in <code>ArgMatches</code> when explicitly specified, fixing derives handling of option-flattened fields (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4375">#4375</a>)</li>
</ul>
<h2>[4.0.13] - 2022-10-11</h2>
<h3>Features</h3>
<ul>
<li><em>(derive)</em> Allow <code>()</code> for fields to mean "don't read" (<a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4371">#4371</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="cbb05d54f8"><code>cbb05d5</code></a> chore: Release</li>
<li><a href="b77bd0cc6a"><code>b77bd0c</code></a> docs: Update changelog</li>
<li><a href="466b6f837e"><code>466b6f8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4397">#4397</a> from epage/exclusive</li>
<li><a href="45dcf0ed22"><code>45dcf0e</code></a> fix(parser): Don't make Args <code>exclusive</code> with their ArgGroup</li>
<li><a href="a40c7b491e"><code>a40c7b4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4390">#4390</a> from sergejp/master</li>
<li><a href="3250bcec4c"><code>3250bce</code></a> docs: Provide a better example for positional arg append under derive</li>
<li><a href="e6436a0967"><code>e6436a0</code></a> docs: Provide a better example for positional arg append</li>
<li><a href="bd5a6eab3b"><code>bd5a6ea</code></a> chore: Release</li>
<li><a href="7eaeed3abd"><code>7eaeed3</code></a> docs: Update changelog</li>
<li><a href="0f6ef3003d"><code>0f6ef30</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4384">#4384</a> from epage/consistent</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v4.0.12...v4.0.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=4.0.12&new-version=4.0.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>
This Pull Request fixes#1371. And yeah, the number of file changes is real...
It changes the following:
- Split the ast `Node` into `Statement` and `Expression`.
- Rewrite the parser and bytecompiler to conform to this change.
- Refactor some ast nodes into reusable structures.
- Rewrite `contains_arguments` and `contains` to ease the transition into a future ast visitor.
List of things that were apparently fixed by this refactor?:
- Implement read-assign operation for private accessors (e.g. `this.#field ||= 5`).
- `var await` declaration now allowed outside `async` functions and inside functions nested in async functions.
- Reject redeclarations of variables declared in the init list of a for loop.
Still missing some documentation adjustments, will try to do it ASAP.
<!---
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 related to #2098.
It changes the following:
- Implements `JsRegExp`
- Adds a brief `JsRegExp` example under `boa_examples`
This Pull Request fixes/closes #2330.
It changes the following:
- Upgrades from clap 3 to clap 4 (note that criterion still uses clap 3, tracked here: https://github.com/bheisler/criterion.rs/issues/596)
- Updates the derive syntax with the new 4.0 syntax
- Adds hints for fish & zsh
Co-authored-by: José Julián Espina <jedel0124@gmail.com>
I think it's time to address the elephant in the room.
This Pull Request will (hopefully!) solve part of #736.
This is a complete rewrite of `JsString`, but instead of storing `u8` bytes it stores `u16` words. The `encode!` macro (renamed to `utf16!` for simplicity) from the `const-utf16` crate allows us to create UTF-16 encoded arrays at compilation time. `JsString` implements `Deref<Target=[u16]>` to unlock the slice methods and possibly make some manipulations easier. However, we would need to create our own library of utilities for `JsString`.
Bumps [test262](https://github.com/tc39/test262) from `58b7a23` to `eb67a76`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="eb67a7689f"><code>eb67a76</code></a> Temporal: Add tests for observable operations in MoveRelativeDate</li>
<li><a href="ae52931aae"><code>ae52931</code></a> Temporal: Add TemporalHelpers.calendarObserver</li>
<li><a href="12f919e45d"><code>12f919e</code></a> Temporal: Add TemporalHelpers.timeZoneObserver</li>
<li><a href="534b94eb63"><code>534b94e</code></a> Temporal: Add tests for calendar validation normative change</li>
<li><a href="b83af50771"><code>b83af50</code></a> Temporal: Adapt existing custom calendar getter tests, and expand</li>
<li><a href="89116e95dd"><code>89116e9</code></a> Temporal: Add some assertion messages to help with debugging</li>
<li><a href="e292fb80de"><code>e292fb8</code></a> Import SpiderMonkey Temporal tests</li>
<li><a href="46c3823117"><code>46c3823</code></a> Temporal: Add TemporalHelpers.crossDateLineTimeZone</li>
<li><a href="886f091bd3"><code>886f091</code></a> Temporal: Use TemporalHelpers.springForwardFallBackTimeZone in staging</li>
<li><a href="42074e7fe7"><code>42074e7</code></a> Temporal: Remove calendars and time zones from tests in staging</li>
<li>See full diff in <a href="58b7a23582...eb67a7689f">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>
This Pull Request closes#2080.
It moves all implementors of the `JsObjectType` trait into their own `js_object` module.
This should simplify documentation and by doing a `pub(crate)` export in `object` little to no imports within the crate need to be changed, simplifying the usage of this module within the boa_engine crate.
Documentation within the `object` module has been updated to reflect this change and in a way that it is shown on the home page of the documentation.
Bumps [test262](https://github.com/tc39/test262) from `e849d40` to `58b7a23`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="58b7a23582"><code>58b7a23</code></a> Sync to intl-duration-format PR 119</li>
<li><a href="c44b6e3e76"><code>c44b6e3</code></a> Temporal: Add assertion messages to PlainTime/p/{add,subtract}/argument-objec...</li>
<li><a href="eaf85892fb"><code>eaf8589</code></a> Import SpiderMonkey Temporal tests</li>
<li>See full diff in <a href="e849d40605...58b7a23582">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>
<!---
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 related to #2098 .
It changes the following:
- Implements a wrapper for `DataView`
- Adds an example of `JsDataView` to the `JsArrayBuffer` example file under boa_examples
Co-authored-by: jedel1043 <jedel0124@gmail.com>
Bumps [test262](https://github.com/tc39/test262) from `9215420` to `e849d40`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="e849d40605"><code>e849d40</code></a> CI: Update CircleCI Docker images.</li>
<li><a href="8565eea8be"><code>8565eea</code></a> Temporal: Test tiebreaker rounding modes more thoroughly</li>
<li><a href="c84e5701cd"><code>c84e570</code></a> Temporal: Add tests for new rounding modes</li>
<li><a href="4155842c37"><code>4155842</code></a> Temporal: Regularize and expand tests for round() rounding modes</li>
<li><a href="a788188c2f"><code>a788188</code></a> Temporal: Regularize and expand tests for difference rounding modes</li>
<li><a href="9c4aed29b7"><code>9c4aed2</code></a> Temporal: Remove now-valid rounding modes from roundingmode-invalid-string tests</li>
<li><a href="e79a1935ed"><code>e79a193</code></a> Add tests for Unicode v15 Identifier{Start,Part} (<a href="https://github-redirect.dependabot.com/tc39/test262/issues/3662">#3662</a>)</li>
<li><a href="3eaa7c9313"><code>3eaa7c9</code></a> Update RegExp <code>\p{…}</code> tests per Unicode 15</li>
<li><a href="ef59ea225a"><code>ef59ea2</code></a> Temporal: Add TemporalHelpers.propertyBagObserver()</li>
<li><a href="38dd3c2823"><code>38dd3c2</code></a> Temporal: Consistently format property names in call logs</li>
<li>Additional commits viewable in <a href="9215420dee...e849d40605">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>
This Pull Request switches our codebase to the brand new [workspace inherited keys](https://doc.rust-lang.org/cargo/reference/workspaces.html#the-package-table), which allows us to define common package options that are usable within each crate's Cargo.toml file.
It also allows to share dependency versions between crates, but I defined only shared versions for our workspace members. It would be a good follow-up to lift all the shared dependencies between crates into the global Cargo.toml.
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.144 to 1.0.145.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.145</h2>
<ul>
<li>Allow RefCell<T>, Mutex<T>, and RwLock<T> to be serialized regardless of whether T is <code>Sized</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2282">#2282</a>, thanks <a href="https://github.com/ChayimFriedman2"><code>@ChayimFriedman2</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8c036ee5a3"><code>8c036ee</code></a> Release 1.0.145</li>
<li><a href="d99009f3c6"><code>d99009f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2282">#2282</a> from ChayimFriedman2/sized-mutex-refcell-rwlock</li>
<li><a href="be3c37eb8b"><code>be3c37e</code></a> Serialize unsized <code>RefCell</code>, <code>Mutex</code> and <code>RwLock</code></li>
<li><a href="f0346ae054"><code>f0346ae</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2281">#2281</a> from dtolnay/try</li>
<li><a href="fa6ce42056"><code>fa6ce42</code></a> Redefine 'try' macro to omit From::from error conversion</li>
<li><a href="a9320db6f9"><code>a9320db</code></a> Consistently avoid '?' throughout serde crate</li>
<li><a href="d208762c81"><code>d208762</code></a> Command-line ignore let_underscore_drop clippy lint</li>
<li><a href="5386897d24"><code>5386897</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2273">#2273</a> from sashashura/patch-1</li>
<li><a href="68eb59df0c"><code>68eb59d</code></a> Update ci.yml</li>
<li><a href="a7f4551669"><code>a7f4551</code></a> Add dev-dependencies keyword for serde_test</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.144...v1.0.145">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.144&new-version=1.0.145)](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 #2288.
It changes the following:
- Updates dependencies to use Unicode 15
- Updates the boa_unicode crate to use Unicode 15
It's still waiting on the unicode-general-category 0.6 release, which was tagged 3 days ago: 15e7e3182f
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.14.0 to 1.15.0.
<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.15.0</h2>
<ul>
<li>Increase minimal supported Rust version to 1.56.0.</li>
<li>Implement <code>UnwindSafe</code> even if the <code>std</code> feature is disabled.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="97edd07e0a"><code>97edd07</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/200">#200</a></li>
<li><a href="f5264bbaf1"><code>f5264bb</code></a> release 1.15.0</li>
<li><a href="a0aeb9b378"><code>a0aeb9b</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/199">#199</a></li>
<li><a href="1d8a90d231"><code>1d8a90d</code></a> fix token name</li>
<li><a href="5ca60af311"><code>5ca60af</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/198">#198</a></li>
<li><a href="99c67b7906"><code>99c67b7</code></a> 1.15.0</li>
<li><a href="b68bee9c56"><code>b68bee9</code></a> edition 2021</li>
<li><a href="8e47e43a49"><code>8e47e43</code></a> always implement unwind safe</li>
<li><a href="8ec240e9db"><code>8ec240e</code></a> MSRV is 1.56</li>
<li><a href="2487d34593"><code>2487d34</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/197">#197</a></li>
<li>Additional commits viewable in <a href="https://github.com/matklad/once_cell/compare/v1.14.0...v1.15.0">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.14.0&new-version=1.15.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 [test262](https://github.com/tc39/test262) from `dc1dc28` to `9215420`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="9215420dee"><code>9215420</code></a> Fix limit test</li>
<li><a href="58a9cdc426"><code>58a9cdc</code></a> Temporal: Test new limits for user code return from getOffsetNanosecondsFor</li>
<li><a href="31ad95d34e"><code>31ad95d</code></a> Temporal: Add more getOffsetNanosecondsFor validation tests</li>
<li><a href="65b51e0769"><code>65b51e0</code></a> Temporal: Override getPossibleInstantsFor to narrow down exception</li>
<li><a href="aa3afd1c28"><code>aa3afd1</code></a> Remove "15Z" to for PlainTime.from test</li>
<li><a href="ce2061eccd"><code>ce2061e</code></a> Temporal: Adjust order of operations in Calendar.___fromFields</li>
<li><a href="4569e73420"><code>4569e73</code></a> Fix DurationFormat default tests (<a href="https://github-redirect.dependabot.com/tc39/test262/issues/3640">#3640</a>)</li>
<li><a href="03cff7fcba"><code>03cff7f</code></a> Remove undefined to sync to PR 113</li>
<li><a href="8f19bb4a45"><code>8f19bb4</code></a> Fix features in tests from <a href="https://github-redirect.dependabot.com/tc39/test262/issues/3354">#3354</a> and <a href="https://github-redirect.dependabot.com/tc39/test262/issues/3353">#3353</a></li>
<li><a href="9592077530"><code>9592077</code></a> Update groupToMap tests</li>
<li>Additional commits viewable in <a href="dc1dc28aa4...9215420dee">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 [clap](https://github.com/clap-rs/clap) from 3.2.21 to 3.2.22.
<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.22</h2>
<h2>[3.2.22] - 2022-09-16</h2>
<h3>Fixes</h3>
<ul>
<li>Unify dependencies on <code>terminal_size</code> to the 0.2 release</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/v3.2.22/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.22] - 2022-09-16</h2>
<h3>Fixes</h3>
<ul>
<li>Unify dependencies on <code>terminal_size</code> to the 0.2 release</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9e3fa67e04"><code>9e3fa67</code></a> chore: Release</li>
<li><a href="d188de0535"><code>d188de0</code></a> docs: Update changelog</li>
<li><a href="48b2373569"><code>48b2373</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4221">#4221</a> from niyaznigmatullin/bump_terminal_size</li>
<li><a href="2fd55076e6"><code>2fd5507</code></a> chore(deps): Bump terminal_size and textwrap</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.2.21...v3.2.22">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.21&new-version=3.2.22)](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 fixes/closes #1987.
It changes the following:
- Add a prototype to the global object.
- Implement `__get_prototype_of__`, `__set_prototype_of__`, `__get_own_property__`, and `__own_property_keys__` for the global object
<!---
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 fixes [x-after-break-to-label](dc1dc28aa4/test/language/block-scope/leave/x-after-break-to-label.js)
### Example
```js
{
let x = 2;
L: {
let x = 3;
console.log(x === 3);
break L;
console.log(false);
}
console.log(x === 2);
}
```
### Previously
> Uncaught "SyntaxError": "Cannot use the undeclared label 'L'"
### Now
> true <br> true
### What did I do
1. add `lable` to `Node::Block`
2. push labelled-block's `control info` to `jump_info` list
3. pop it before `Opcode::PopEnvironment`
Co-authored-by: creampnx_x <2270436024@qq.com>
This Pull Request closes#894.
It changes the following:
- Adds the `encodeURI()`, `decodeURI()`, `encodeURIComponent()` and `decodeURIComponent()` functions
- Passes all the tests except for those depending on #1987 or on the comment below.
Things to discuss:
- I'm unable to find in the spec information regarding the only failing tests, which relate to [this](f1870753fa/test/built-ins/encodeURI/S15.1.3.3_A1.1_T2.js):
> If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError
Let me know your thoughts :)
Co-authored-by: raskad <32105367+raskad@users.noreply.github.com>
This Pull Request changes the following:
- Implement [Async-from-Sync Iterator Objects](https://tc39.es/ecma262/#sec-async-from-sync-iterator-objects)
- Give the proper `async` hint to `GetIterator` when executing a delegate yield expression in an async generator function
This Pull Request fixes/closes #2148.
It changes the following:
- When we start an assignment expression, the `/` token must be a regular expression literal. The division can only occur between expressions after the assignment operator.
- Added tests for the new behaviour, taken from #2177
This overrides #2177
This Pull Request fixes a potential overflow when trying to convert a `u64` into a `usize` and then trying to create a byte data block.
Related to this, we seem to be using a `u64` and `i64` as a general approach for an "integer", but ECMAScript doesn't have bounds for them, so they could be as big as infinite. Should we use `u128` and `i128` to have a bigger range?
This would add a performance penalty, though, and we don't have 128-bit platforms usually, so the benefit would probably be minimal, at least when trying to allocate.
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.9.11 to 0.9.13.
<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.13</h2>
<ul>
<li>Recognize <code>True</code>, <code>TRUE</code>, <code>False</code>, <code>FALSE</code> as booleans, <code>Null</code>, <code>NULL</code> as null (<a href="https://github-redirect.dependabot.com/dtolnay/serde-yaml/issues/330">#330</a>)</li>
</ul>
<h2>0.9.12</h2>
<ul>
<li>
<p>Support deserializing tagged literal scalar into primitive (<a href="https://github-redirect.dependabot.com/dtolnay/serde-yaml/issues/327">#327</a>)</p>
<pre lang="yaml"><code>"foo": !!int |-
7200
</code></pre>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="186cc67720"><code>186cc67</code></a> Release 0.9.13</li>
<li><a href="43615b14bf"><code>43615b1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/serde-yaml/issues/330">#330</a> from dtolnay/tagresolution</li>
<li><a href="35037c5e7f"><code>35037c5</code></a> Add some null and boolean representations</li>
<li><a href="a7b9862f5a"><code>a7b9862</code></a> Add a core schema tag resolution test</li>
<li><a href="161f60c18c"><code>161f60c</code></a> Add a sponsors link</li>
<li><a href="7687acb2f4"><code>7687acb</code></a> Remove default package.readme metadata from Cargo.toml</li>
<li><a href="03da8cffc1"><code>03da8cf</code></a> Release 0.9.12</li>
<li><a href="129a24e710"><code>129a24e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/serde-yaml/issues/328">#328</a> from dtolnay/taggedliteral</li>
<li><a href="c68127fad5"><code>c68127f</code></a> Clean up tagged literal matching</li>
<li><a href="bfff6c193f"><code>bfff6c1</code></a> Support deserializing tagged literal scalar into primitive</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/serde-yaml/compare/0.9.11...0.9.13">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.11&new-version=0.9.13)](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 [anyhow](https://github.com/dtolnay/anyhow) from 1.0.64 to 1.0.65.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.65</h2>
<ul>
<li><!-- raw HTML omitted -->impl <!-- raw HTML omitted -->Provider<!-- raw HTML omitted --> for anyhow::Error<!-- raw HTML omitted --></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4de2068f71"><code>4de2068</code></a> Release 1.0.65</li>
<li><a href="07acdacfea"><code>07acdac</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/271">#271</a> from dtolnay/provider</li>
<li><a href="ee49ec0d49"><code>ee49ec0</code></a> Add impl Provider in build.rs probe</li>
<li><a href="b7448d3ad6"><code>b7448d3</code></a> impl std::any::Provider for anyhow::Error</li>
<li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.64...1.0.65">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.64&new-version=1.0.65)](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.20 to 3.2.21.
<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.21</h2>
<h2>[3.2.21] - 2022-09-12</h2>
<h3>Features</h3>
<ul>
<li><code>TypedValueParser::map</code> to allow reusing existing value parsers for other purposes</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/v3.2.21/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[3.2.21] - 2022-09-12</h2>
<h3>Features</h3>
<ul>
<li><code>TypedValueParser::map</code> to allow reusing existing value parsers for other purposes</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7de2f36e6b"><code>7de2f36</code></a> chore: Release</li>
<li><a href="af47562311"><code>af47562</code></a> docs: Roll back deprecation message</li>
<li><a href="1f053b9c9b"><code>1f053b9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4205">#4205</a> from epage/deprecations</li>
<li><a href="d1ff0632ad"><code>d1ff063</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4204">#4204</a> from epage/map</li>
<li><a href="7272aa0950"><code>7272aa0</code></a> docs: Expand on deprecation instructions</li>
<li><a href="960c152b53"><code>960c152</code></a> feat(parser): TypedValueParseer::map for adapting value parsers</li>
<li><a href="c361d01ad5"><code>c361d01</code></a> docs: Remove v4 from changelog</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v3.2.20...v3.2.21">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.20&new-version=3.2.21)](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>