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>
Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md">criterion's changelog</a>.</em></p>
<blockquote>
<h2>[0.4.0] - 2022-09-10</h2>
<h3>Removed</h3>
<ul>
<li>The <code>Criterion::can_plot</code> function has been removed.</li>
<li>The <code>Criterion::bench_function_over_inputs</code> function has been removed.</li>
<li>The <code>Criterion::bench_functions</code> function has been removed.</li>
<li>The <code>Criterion::bench</code> function has been removed.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>HTML report hidden behind non-default feature flag: 'html_reports'</li>
<li>Standalone support (ie without cargo-criterion) feature flag: 'cargo_bench_support'</li>
<li>MSRV bumped to 1.57</li>
<li><code>rayon</code> and <code>plotters</code> are optional (and default) dependencies.</li>
<li>Status messages ('warming up', 'analyzing', etc) are printed to stderr, benchmark results are printed to stdout.</li>
<li>Accept subsecond durations for <code>--warm-up-time</code>, <code>--measurement-time</code> and <code>--profile-time</code>.</li>
<li>Replaced serde_cbor with ciborium because the former is no longer maintained.</li>
<li>Upgrade clap to v3 and regex to v1.5.</li>
</ul>
<h3>Added</h3>
<ul>
<li>A <code>--discard-baseline</code> flag for discarding rather than saving benchmark results.</li>
<li>Formal support for benchmarking code compiled to web-assembly.</li>
<li>A <code>--quiet</code> flag for printing just a single line per benchmark.</li>
<li>A <code>Throughput::BytesDecimal</code> option for measuring throughput in bytes but printing them using
decimal units like kilobytes instead of binary units like kibibytes.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>When using <code>bench_with_input</code>, the input parameter will now be passed through <code>black_box</code> before
passing it to the benchmark.</li>
</ul>
<h2>[0.3.6] - 2022-07-06</h2>
<h3>Changed</h3>
<ul>
<li>MSRV bumped to 1.49</li>
<li>Symbol for microseconds changed from ASCII 'us' to unicode 'µs'</li>
<li>Documentation fixes</li>
<li>Clippy fixes</li>
</ul>
<h2>[0.3.5] - 2021-07-26</h2>
<h3>Fixed</h3>
<ul>
<li>Corrected <code>Criterion.toml</code> in the book.</li>
<li>Corrected configuration typo in the book.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Bump plotters dependency to always include a bug-fix.</li>
<li>MSRV bumped to 1.46.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5e27b692a4"><code>5e27b69</code></a> Merge branch 'version-0.4'</li>
<li><a href="4d6d69a9f5"><code>4d6d69a</code></a> Increment version numbers.</li>
<li><a href="935c6327e1"><code>935c632</code></a> Add Throughput::BytesDecimal. Fixes <a href="https://github-redirect.dependabot.com/bheisler/criterion.rs/issues/581">#581</a>.</li>
<li><a href="f82ce59d71"><code>f82ce59</code></a> Remove critcmp code (it belongs in cargo-criterion) (<a href="https://github-redirect.dependabot.com/bheisler/criterion.rs/issues/610">#610</a>)</li>
<li><a href="a18d0800a9"><code>a18d080</code></a> Merge branch 'master' into version-0.4</li>
<li><a href="f9c6b8d1c0"><code>f9c6b8d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/bheisler/criterion.rs/issues/608">#608</a> from Cryptex-github/patch-1</li>
<li><a href="8d0224e9f1"><code>8d0224e</code></a> Fix html report path</li>
<li><a href="2934163518"><code>2934163</code></a> Add missing black_box for bench_with_input parameters. Fixes 566.</li>
<li><a href="dfd7b6532b"><code>dfd7b65</code></a> Add duplicated benchmark ID to assertion message.</li>
<li><a href="ce8259e69f"><code>ce8259e</code></a> Bump criterion-plot version number.</li>
<li>Additional commits viewable in <a href="https://github.com/bheisler/criterion.rs/compare/0.3.5...0.4.0">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>