This Pull Request closes#1975. It's still a work in progress, but tries to go in that direction.
It changes the following:
- Adds a new `TryFromJs` trait, that can be derived using a new `boa_derive` crate.
- Adds a new `try_js_into()` function that, similarly to the standard library `TryInto` trait
Things to think about:
- Should the `boa_derive` crate be re-exported in `boa_engine` using a `derive` feature, similar to how it's done in `serde`?
- The current implementation only converts perfectly valid values. So, if we try to convert a big integer into an `i8`, or any floating point number to an `f32`. So, you cannot derive `TryFromJs` for structures that contain an `f32` for example (you can still manually implement the trait, though, and decide in favour of a loss of precision). Should we also provide some traits for transparent loss of precision?
- Currently, you cannot convert between types, so if the JS struct has an integer, you cannot cast it to a boolean, for example. Should we provide a `TryConvertJs` trait, for example to force conversions?
- Currently we only have basic types and object conversions. Should add `Array` to `Vec` conversion, for example, right? Should we also add `TypedArray` conversions? What about `Map` and `Set`? Does this step over the fine grained APIs that we were creating?
Note that this still requires a bunch of documentation, tests, and validation from the dev team and from the users that requested this feature. I'm particularly interested in @lastmjs's thoughts on this API.
I already added an usage example in `boa_examples/src/bin/derive.rs`.
Co-authored-by: jedel1043 <jedel0124@gmail.com>
Currently we have no explicit representation for parenthesized expressions which makes some behaviours impossible to detect. A bonus is that we can now turn AST that contains parenthesized expressions back to code.
This Pull Request changes the following:
- Add an AST node for parenthesized expressions.
- Adjust some conversions and checks to "ignore"/"expand" parenthesized expressions.
- Fix some tests that had parenthesized expressions.
Bumps [webpack](https://github.com/webpack/webpack) from 5.76.3 to 5.77.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p>
<blockquote>
<h2>v5.77.0</h2>
<h2>New Features</h2>
<ul>
<li>Add a new output option, <code>output.workerPublicPath</code> by <a href="https://github.com/thomastay"><code>@thomastay</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16671">webpack/webpack#16671</a></li>
</ul>
<h2>Developer Experience</h2>
<ul>
<li>Improve <code>resolve.extensions</code> error message to suggest when <code>"."</code> is missing before the extension by <a href="https://github.com/snitin315"><code>@snitin315</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16807">webpack/webpack#16807</a></li>
</ul>
<h2>Contributor Experience</h2>
<ul>
<li>Enable GitHub Copilot for PR's into default Pull Request Template by <a href="https://github.com/TheLarkInn"><code>@TheLarkInn</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16881">webpack/webpack#16881</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/thomastay"><code>@thomastay</code></a> made their first contribution in <a href="https://redirect.github.com/webpack/webpack/pull/16671">webpack/webpack#16671</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/webpack/webpack/compare/v5.76.3...v5.77.0">https://github.com/webpack/webpack/compare/v5.76.3...v5.77.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="263f291890"><code>263f291</code></a> 5.77.0</li>
<li><a href="ae9f0e065a"><code>ae9f0e0</code></a> Merge pull request <a href="https://redirect.github.com/webpack/webpack/issues/16881">#16881</a> from webpack/feature/beta-test-github-template-copi...</li>
<li><a href="fdcdc2d8c7"><code>fdcdc2d</code></a> Pilot the Copilot for PR in default PR template, retain original template</li>
<li><a href="a3ab4e78b6"><code>a3ab4e7</code></a> Merge pull request <a href="https://redirect.github.com/webpack/webpack/issues/16807">#16807</a> from snitin315/improve-resolve-extention-error</li>
<li><a href="d9604e9003"><code>d9604e9</code></a> refactor: move RegExp to a variable and use RegExp.prototype.test()</li>
<li><a href="eac5d8cacb"><code>eac5d8c</code></a> Merge pull request <a href="https://redirect.github.com/webpack/webpack/issues/16671">#16671</a> from thomastay/main</li>
<li><a href="8c6a1a47cd"><code>8c6a1a4</code></a> revert weird space issues part 2</li>
<li><a href="f33c2b07d0"><code>f33c2b0</code></a> Merge branch 'webpack:main' into main</li>
<li><a href="2cad865c43"><code>2cad865</code></a> change hash</li>
<li><a href="628125f69d"><code>628125f</code></a> revert weird space issues</li>
<li>Additional commits viewable in <a href="https://github.com/webpack/webpack/compare/v5.76.3...v5.77.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=webpack&package-manager=npm_and_yarn&previous-version=5.76.3&new-version=5.77.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 4.2.0 to 4.2.1.
<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.2.1</h2>
<h2>[4.2.1] - 2023-03-28</h2>
<h3>Fixes</h3>
<ul>
<li>Don't highlight uninteresting parts of the error message</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.2.1] - 2023-03-28</h2>
<h3>Fixes</h3>
<ul>
<li>Don't highlight uninteresting parts of the error message</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3ef784b516"><code>3ef784b</code></a> chore: Release</li>
<li><a href="6e1b6599d7"><code>6e1b659</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4810">#4810</a> from epage/fixx</li>
<li><a href="58615a1306"><code>58615a1</code></a> fix(error): Don't highlight 'similar'</li>
<li><a href="8f45d2f95a"><code>8f45d2f</code></a> docs(derive): Reword opt-out</li>
<li><a href="06d190751a"><code>06d1907</code></a> docs(derive): Clarify opt-out of special type behavior</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/clap_complete-v4.2.0...v4.2.1">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.2.0&new-version=4.2.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>
Most objects don't have indexed properties, and those who have, have dense properties, this PR uses `ThinVec` to reduce the size of dense properties.
It changes the following:
- Trim `16` bytes from `IndexedProperties`, this reduces all objects size
This PR implements an optimizer, It currently implements the [constant folding optimization][cfo]. this optimization is responsible for "folding"/evaluating constant expressions.
For example:
```js
let x = ((1 + 2 + -4) * 8) << 4
```
Generates the following instruction(s) (`cargo run -- -t`):
```
000000 0000 PushOne
000001 0001 PushInt8 2
000003 0002 Add
000004 0003 PushInt8 4
000006 0004 Neg
000007 0005 Add
000008 0006 PushInt8 8
000010 0007 Mul
000011 0008 PushInt8 4
000013 0009 ShiftLeft
000014 0010 DefInitLet 0000: 'x'
```
With constant folding it generates the following instruction(s) (`cargo run -- -t -O`):
```
000000 0000 PushInt8 -128
000002 0001 DefInitLet 0000: 'x'
```
It changes the following:
- Implement ~~WIP~~ constant folding optimization, ~~only works with integers for now~~
- Add `--optimize, -O` flag to boa_cli
- Add `--optimizer-statistics` flag to boa_cli for optimizer statistics
- Add `--optimize, -O` flag to boa_tester
After I finish with this, will try to implement other optimizations :)
[cfo]: https://en.wikipedia.org/wiki/Constant_folding
`boa_tester` wasn't deserializing `SpecEdition` correcly. This was because the attribute `serde(untagged)` just removes the u8 tag instead of trying to deserialize as a number. This PR fixes this using the `serde_repr` crate.
This needs #2763 to be merged for it to pass CI.
This Pull Request fixes/closes #2672.
It changes the following:
- Get the super constructor and the new target before executing arguments in super calls.
This Pull Request closes#2687.
It changes the following:
- Adds a `JsPromise` wrapper to manipulate promises from Rust.
- Cleans up the `promise` module to ease the integration of `JsPromise` with it.
cc @lastmjs
Bumps [clap](https://github.com/clap-rs/clap) from 4.1.14 to 4.2.0.
<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.2.0</h2>
<h2>[4.2.0] - 2023-03-28</h2>
<h3>Compatibility</h3>
<ul>
<li>Removed the languishing <code>unstable-replace</code> feature (open to discussion at <a href="https://redirect.github.com/clap-rs/clap/issues/2836">#2836</a>)</li>
<li>Removed the stablized <code>unstable-grouped</code> feature</li>
</ul>
<h3>Features</h3>
<ul>
<li>Allow any <code>StyledStr</code> to accept text styled with ANSI escape codes</li>
<li>Respect <code>CLICOLOR</code>, <code>CLICOLOR_FORCE</code></li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Lighten the tone for "unexpected argument" errors (open to discussion at <a href="https://redirect.github.com/clap-rs/clap/issues/4638">#4638</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.2.0] - 2023-03-28</h2>
<h3>Compatibility</h3>
<ul>
<li>Removed the languishing <code>unstable-replace</code> feature (open to discussion at <a href="https://redirect.github.com/clap-rs/clap/issues/2836">#2836</a>)</li>
<li>Removed the stablized <code>unstable-grouped</code> feature</li>
</ul>
<h3>Features</h3>
<ul>
<li>Allow any <code>StyledStr</code> to accept text styled with ANSI escape codes</li>
<li>Respect <code>CLICOLOR</code>, <code>CLICOLOR_FORCE</code></li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Lighten the tone for "unexpected argument" errors (open to discussion at <a href="https://redirect.github.com/clap-rs/clap/issues/4638">#4638</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8fc65e28b6"><code>8fc65e2</code></a> chore: Release</li>
<li><a href="21be636cec"><code>21be636</code></a> docs: Update changelog</li>
<li><a href="4ed6ddb74d"><code>4ed6ddb</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4805">#4805</a> from epage/replace</li>
<li><a href="79be4bd98d"><code>79be4bd</code></a> chore: Release</li>
<li><a href="47b397dff4"><code>47b397d</code></a> docs: Update changelog</li>
<li><a href="2c19accd6c"><code>2c19acc</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4803">#4803</a> from epage/osstr</li>
<li><a href="5b101eb84c"><code>5b101eb</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4804">#4804</a> from epage/unstable</li>
<li><a href="4b180f8cd0"><code>4b180f8</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4802">#4802</a> from epage/osstr</li>
<li><a href="53cb165b3f"><code>53cb165</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4798">#4798</a> from epage/similar</li>
<li><a href="56fe5e0ec0"><code>56fe5e0</code></a> fix!: Remove <code>unstable-replace</code> feature flag</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v4.1.14...clap_complete-v4.2.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.1.14&new-version=4.2.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 [synstructure](https://github.com/mystor/synstructure) from 0.12.6 to 0.13.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/mystor/synstructure/commits">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=synstructure&package-manager=cargo&previous-version=0.12.6&new-version=0.13.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>
Co-authored-by: jedel1043 <jedel0124@gmail.com>
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.158 to 1.0.159.
<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.159</h2>
<ul>
<li>Accept empty #[serde()] attribute (<a href="https://redirect.github.com/serde-rs/serde/issues/2422">#2422</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d6de911855"><code>d6de911</code></a> Release 1.0.159</li>
<li><a href="04af32230e"><code>04af322</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2422">#2422</a> from dtolnay/emptyattr</li>
<li><a href="4cb8d079f8"><code>4cb8d07</code></a> Accept empty #[serde()] attribute</li>
<li><a href="6ab55a1e52"><code>6ab55a1</code></a> Add regression test for issue 2415</li>
<li><a href="acfd19cb46"><code>acfd19c</code></a> Release serde_derive_internals 0.27.0</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.158...v1.0.159">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.158&new-version=1.0.159)](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.94 to 1.0.95.
<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.95</h2>
<ul>
<li>Preserve f32 precision when serializing f32 -> serde_json::Value -> JSON string in "arbitrary_precision" mode (<a href="https://redirect.github.com/serde-rs/json/issues/1004">#1004</a>, <a href="https://redirect.github.com/serde-rs/json/issues/1005">#1005</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4ea38c4001"><code>4ea38c4</code></a> Release 1.0.95</li>
<li><a href="731886c08e"><code>731886c</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/json/issues/1005">#1005</a> from dtolnay/f32cast</li>
<li><a href="c9bff92c1f"><code>c9bff92</code></a> Fix PartialEq between Value and f32</li>
<li><a href="06f3443c6e"><code>06f3443</code></a> Eliminate f32-to-f64 casting in arbitrary_precision mode</li>
<li><a href="b0990a51db"><code>b0990a5</code></a> Add regression test for issue 1004</li>
<li><a href="02e583360d"><code>02e5833</code></a> Update fuzz crate gitignore to ignore coverage dir</li>
<li><a href="4b9699612f"><code>4b96996</code></a> No longer test so many old compiler versions</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.94...v1.0.95">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.94&new-version=1.0.95)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.10 to 2.0.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p>
<blockquote>
<h2>2.0.11</h2>
<ul>
<li>Improve error message on empty parens inside parse_nested_meta (<a href="https://redirect.github.com/dtolnay/syn/issues/1428">#1428</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c58aceb0b1"><code>c58aceb</code></a> Release 2.0.11</li>
<li><a href="161be5acec"><code>161be5a</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/syn/issues/1428">#1428</a> from dtolnay/emptyattr</li>
<li><a href="0b7da9641c"><code>0b7da96</code></a> Improve error message on empty parens inside parse_nested_meta</li>
<li><a href="02961800aa"><code>0296180</code></a> Update test suite to nightly-2023-03-28</li>
<li><a href="e19a0fbfe1"><code>e19a0fb</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/syn/issues/1425">#1425</a> from dtolnay/alert</li>
<li><a href="dffe82b26e"><code>dffe82b</code></a> Perform build-time alerts in test suite using build-alert crate</li>
<li><a href="85d086ff09"><code>85d086f</code></a> Expose a way to fuzz with span-locations</li>
<li><a href="741f67ec4b"><code>741f67e</code></a> Update fuzz crate gitignore to ignore coverage dir</li>
<li><a href="f954499c76"><code>f954499</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/syn/issues/1423">#1423</a> from dtolnay/codegen</li>
<li><a href="efe6fcbef4"><code>efe6fcb</code></a> Revert "Decouple current syntax tree from the one codegen uses"</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/syn/compare/2.0.10...2.0.11">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=2.0.10&new-version=2.0.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 4.1.13 to 4.1.14.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v4.1.14</h2>
<h2>[4.1.14] - 2023-03-28</h2>
<h3>Features</h3>
<ul>
<li><em>(derive)</em> <code>#[group]</code> raw attribute support</li>
</ul>
<h3>Performance</h3>
<ul>
<li><em>(derive)</em> <code>clap_builder</code> was pulled out of <code>clap</code> so it could build in parallel to <code>clap_derive</code></li>
<li><code>os_str_bytes</code> dependency was removed for faster builds and smaller binaries</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[4.1.14] - 2023-03-28</h2>
<h3>Features</h3>
<ul>
<li><em>(derive)</em> <code>#[group]</code> raw attribute support</li>
</ul>
<h3>Performance</h3>
<ul>
<li><em>(derive)</em> <code>clap_builder</code> was pulled out of <code>clap</code> so it could build in parallel to <code>clap_derive</code></li>
<li><code>os_str_bytes</code> dependency was removed for faster builds and smaller binaries</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2852653656"><code>2852653</code></a> chore: Release</li>
<li><a href="2bb4146374"><code>2bb4146</code></a> chore: Release</li>
<li><a href="765c2e18f5"><code>765c2e1</code></a> docs: Update changelog</li>
<li><a href="6696513dec"><code>6696513</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4796">#4796</a> from epage/lex</li>
<li><a href="a916daad57"><code>a916daa</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4795">#4795</a> from epage/required_group</li>
<li><a href="627a94f502"><code>627a94f</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4794">#4794</a> from epage/osstr</li>
<li><a href="9712987b80"><code>9712987</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4791">#4791</a> from epage/builder</li>
<li><a href="615c1dc6a0"><code>615c1dc</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4790">#4790</a> from epage/doc</li>
<li><a href="57d1c39dc5"><code>57d1c39</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4789">#4789</a> from mochi-sann/fix-clap_ocmplete-example-doc</li>
<li><a href="7c6cf81476"><code>7c6cf81</code></a> docs(clap_complete): The file name of the command in the clap_complete exampl...</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v4.1.13...v4.1.14">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.1.13&new-version=4.1.14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
The fields like `[[PrivateElements]]` are hardly used but they occupy `24` bytes (on 64-bit arch.) the `ThinVec` type stores the `len` and `cap` right before the elements (like our `JsString` implementation) and only a pointer is kept (if not used it does not allocate!), was going to use this in #2723 , since it uses a `Vec` as a dense storage, but the PR is already too big.
It changes the following:
- Shrink object from `328` to `288` bytes (40 bytes reduction)
- Add the `thin_vec` lightweight crate (single file)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.8 to 2.0.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p>
<blockquote>
<h2>2.0.10</h2>
<ul>
<li>Fix visibility being parsed incorrectly on macro invocations inside of a trait</li>
</ul>
<h2>2.0.9</h2>
<ul>
<li>Disallow <code>type</code> items in an extern block, trait, or module from being marked <code>default</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c4976f19f0"><code>c4976f1</code></a> Release 2.0.10</li>
<li><a href="1f705d8ec6"><code>1f705d8</code></a> Remove precedence logic for the removed type ascription expression</li>
<li><a href="64ed2b1b19"><code>64ed2b1</code></a> Disallow visibility and defaultness on macro call in trait item position</li>
<li><a href="a33ffa388a"><code>a33ffa3</code></a> Fix parsing of const, async, unsafe, and extern fns inside impl block</li>
<li><a href="94439aae5f"><code>94439aa</code></a> Restore lookahead peek for better error message</li>
<li><a href="275d368069"><code>275d368</code></a> Release 2.0.9</li>
<li><a href="280d5e478d"><code>280d5e4</code></a> Remove dead code from ImplItemFn's ToTokens</li>
<li><a href="5036fd9c6e"><code>5036fd9</code></a> Clean up ImplItemFn hack using ImplItem::Verbatim</li>
<li><a href="0f99d27656"><code>0f99d27</code></a> Factor out some common code for type parsing</li>
<li><a href="fd8d37ee5c"><code>fd8d37e</code></a> Disallow some nonsensical configurations of items</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/syn/compare/2.0.8...2.0.10">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=2.0.8&new-version=2.0.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.9.2 to 1.9.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/bluss/indexmap/blob/master/RELEASES.md">indexmap's changelog</a>.</em></p>
<blockquote>
<ul>
<li>
<p>1.9.3</p>
<ul>
<li>Bump the <code>rustc-rayon</code> dependency, for compiler use only.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="861fad73de"><code>861fad7</code></a> Merge pull request <a href="https://redirect.github.com/bluss/indexmap/issues/259">#259</a> from cuviper/indexmap-1-rustc-rayon-0.5</li>
<li><a href="3413435112"><code>3413435</code></a> Release 1.9.3</li>
<li><a href="6c6700066a"><code>6c67000</code></a> Update rustc-rayon to 0.5</li>
<li>See full diff in <a href="https://github.com/bluss/indexmap/compare/1.9.2...1.9.3">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=indexmap&package-manager=cargo&previous-version=1.9.2&new-version=1.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.53 to 1.0.54.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/proc-macro2/releases">proc-macro2's releases</a>.</em></p>
<blockquote>
<h2>1.0.54</h2>
<ul>
<li>Performance improvement to "span-locations" feature (<a href="https://redirect.github.com/dtolnay/proc-macro2/issues/373">#373</a>)</li>
<li>Fix unbounded memory usage when calling proc-macro2's parser from a fuzzer (<a href="https://redirect.github.com/dtolnay/proc-macro2/issues/374">#374</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9f9328b7f0"><code>9f9328b</code></a> Release 1.0.54</li>
<li><a href="35cda6d129"><code>35cda6d</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/proc-macro2/issues/374">#374</a> from dtolnay/cfgfuzzing</li>
<li><a href="da3949d36b"><code>da3949d</code></a> Disable sourcemap thread_local during fuzzing</li>
<li><a href="eb49335540"><code>eb49335</code></a> Expose a way to fuzz with span-locations enabled</li>
<li><a href="16c2edab1c"><code>16c2eda</code></a> Turn off proc-macro feature for fuzzer</li>
<li><a href="5c05f4bd3a"><code>5c05f4b</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/proc-macro2/issues/373">#373</a> from dtolnay/filepath</li>
<li><a href="6eda714718"><code>6eda714</code></a> Lazily construct PathBuf for sourcemap entries</li>
<li><a href="990ddbb3f4"><code>990ddbb</code></a> Update fuzz crate gitignore to ignore coverage dir</li>
<li>See full diff in <a href="https://github.com/dtolnay/proc-macro2/compare/1.0.53...1.0.54">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=proc-macro2&package-manager=cargo&previous-version=1.0.53&new-version=1.0.54)](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 [regex](https://github.com/rust-lang/regex) from 1.7.2 to 1.7.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's changelog</a>.</em></p>
<blockquote>
<h1>1.7.3 (2023-03-24)</h1>
<p>This is a small release that fixes a bug in <code>Regex::shortest_match_at</code> that
could cause it to panic, even when the offset given is valid.</p>
<p>Bug fixes:</p>
<ul>
<li>[BUG <a href="https://redirect.github.com/rust-lang/regex/issues/969">#969</a>](<a href="https://redirect.github.com/rust-lang/regex/issues/969">rust-lang/regex#969</a>):
Fix a bug in how the reverse DFA was called for <code>Regex::shortest_match_at</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9582040009"><code>9582040</code></a> 1.7.3</li>
<li><a href="9562ccd161"><code>9562ccd</code></a> changelog: 1.7.3</li>
<li><a href="d94f95523a"><code>d94f955</code></a> dfa: fix bug in how the reverse DFA is called</li>
<li>See full diff in <a href="https://github.com/rust-lang/regex/compare/1.7.2...1.7.3">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=regex&package-manager=cargo&previous-version=1.7.2&new-version=1.7.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
This PR changes the following:
- Adds a new (very simple) security policy, to comply with GitHub standards
- Changes the internal links of the documentation to point to the new boajs.dev domain
- The developer documentation link now lies in the CONTRIBUTING.md file
<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel necessary.
--->
This pr adds the boa doc `html_logo_url` and `html_favicon_url` on the pages missing the logo for boa's hosted docs.
Currently update expressions get values multiple times. This can lead to multiple executions of object property getters.
This is very similar to #2551. Unfortunateley it seems like we have to sacrifice some code duplication for correctness in these cases. But that is probably for the best, as we can generate more optimized bytecode for each of these `get/set` cases.
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.6 to 2.8.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/prettier/prettier/releases">prettier's releases</a>.</em></p>
<blockquote>
<h2>2.8.7</h2>
<ul>
<li>Allow multiple decorators on same getter/setter</li>
</ul>
<p>🔗 <a href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#287">Changelog</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's changelog</a>.</em></p>
<blockquote>
<h1>2.8.7</h1>
<p><a href="https://github.com/prettier/prettier/compare/2.8.6...2.8.7">diff</a></p>
<h4>Allow multiple decorators on same getter/setter (<a href="https://redirect.github.com/prettier/prettier/pull/14584">#14584</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="ts"><code>// Input
class A {
@decorator()
get foo () {}
<p><a href="https://github.com/decorator"><code>@decorator</code></a>()
set foo (value) {}
}</p>
<p>// Prettier 2.8.6
SyntaxError: Decorators cannot be applied to multiple get/set accessors of the same name. (5:3)
3 | get foo () {}
4 |<br />
> 5 | <a href="https://github.com/decorator"><code>@decorator</code></a>()
| ^^^^^^^^^^^^
6 | set foo (value) {}
7 | }</p>
<p>// Prettier 2.8.7
class A {
<a href="https://github.com/decorator"><code>@decorator</code></a>()
get foo() {}</p>
<p><a href="https://github.com/decorator"><code>@decorator</code></a>()
set foo(value) {}
}
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="543a9d71a7"><code>543a9d7</code></a> Release 2.8.7</li>
<li><a href="f9fae7f34c"><code>f9fae7f</code></a> Allow multiple decorators on same getter/setter (<a href="https://redirect.github.com/prettier/prettier/issues/14584">#14584</a>)</li>
<li>See full diff in <a href="https://github.com/prettier/prettier/compare/2.8.6...2.8.7">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prettier&package-manager=npm_and_yarn&previous-version=2.8.6&new-version=2.8.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [clap](https://github.com/clap-rs/clap) from 4.1.11 to 4.1.13.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v4.1.13</h2>
<h2>[4.1.13] - 2023-03-18</h2>
<h3>Performance</h3>
<ul>
<li>Reduce repeated alloc calls when building a <code>Command</code></li>
<li>Reduce duplicate dependencies for faster builds</li>
</ul>
<h2>v4.1.12</h2>
<h2>[4.1.12] - 2023-03-18</h2>
<h3>Internal</h3>
<ul>
<li><em>(derive)</em> Update to <code>syn</code> v2</li>
</ul>
<h3>Performance</h3>
<ul>
<li><em>(derive)</em> Faster build times by dropping <code>proc-macro-error</code> dependency</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[4.1.13] - 2023-03-18</h2>
<h3>Performance</h3>
<ul>
<li>Reduce repeated alloc calls when building a <code>Command</code></li>
<li>Reduce duplicate dependencies for faster builds</li>
</ul>
<h2>[4.1.12] - 2023-03-18</h2>
<h3>Internal</h3>
<ul>
<li><em>(derive)</em> Update to <code>syn</code> v2</li>
</ul>
<h3>Performance</h3>
<ul>
<li><em>(derive)</em> Faster build times by dropping <code>proc-macro-error</code> dependency</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="240e237b5f"><code>240e237</code></a> chore: Release</li>
<li><a href="60e023fb2c"><code>60e023f</code></a> docs: Update changelog</li>
<li><a href="6e1376cac8"><code>6e1376c</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4781">#4781</a> from epage/deny</li>
<li><a href="f04ad2f38c"><code>f04ad2f</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4779">#4779</a> from epage/reserve</li>
<li><a href="bdfc6be5a7"><code>bdfc6be</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4778">#4778</a> from epage/downgrade</li>
<li><a href="a2f500e440"><code>a2f500e</code></a> chore(ci): Switch to cargo-deny</li>
<li><a href="a62fd05d53"><code>a62fd05</code></a> perf: Reduce alloc calls when building</li>
<li><a href="769ccc5cd6"><code>769ccc5</code></a> Revert "chore: Update bitflags dep to 2.0"</li>
<li><a href="79b44d0460"><code>79b44d0</code></a> chore: Release</li>
<li><a href="59109b640d"><code>59109b6</code></a> docs: Update changelog</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v4.1.11...v4.1.13">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.1.11&new-version=4.1.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 [syn](https://github.com/dtolnay/syn) from 2.0.3 to 2.0.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p>
<blockquote>
<h2>2.0.8</h2>
<ul>
<li>Treat <code>try</code> keyword as 2015-edition identifier in definition of try macro (<a href="https://redirect.github.com/dtolnay/syn/issues/1422">#1422</a>)</li>
</ul>
<h2>2.0.7</h2>
<ul>
<li>Fix parsing of <code>mut self</code> inside of Type::BareFn</li>
</ul>
<h2>2.0.6</h2>
<ul>
<li>Improve error message on missing ';' between statements (<a href="https://redirect.github.com/dtolnay/syn/issues/1419">#1419</a>)</li>
<li>Keep non-brace macro invocations in trailing expr position as Expr::Macro (<a href="https://redirect.github.com/dtolnay/syn/issues/1420">#1420</a>)</li>
</ul>
<h2>2.0.5</h2>
<ul>
<li>Expose <code>ExprMacro</code> data structure even when <code>features="full"</code> is not used (<a href="https://redirect.github.com/dtolnay/syn/issues/1417">#1417</a>)</li>
</ul>
<h2>2.0.4</h2>
<ul>
<li>Improve error reporting when parsing identifiers and paths (<a href="https://redirect.github.com/dtolnay/syn/issues/1415">#1415</a>, <a href="https://redirect.github.com/dtolnay/syn/issues/1416">#1416</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2fea56f57a"><code>2fea56f</code></a> Release 2.0.8</li>
<li><a href="40aa291011"><code>40aa291</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/syn/issues/1422">#1422</a> from dtolnay/trymacro</li>
<li><a href="f3a4a4c0c1"><code>f3a4a4c</code></a> Treat try keyword as 2015 ident in definition of try macro</li>
<li><a href="b862eff8aa"><code>b862eff</code></a> Release 2.0.7</li>
<li><a href="e6b1bdfc29"><code>e6b1bdf</code></a> Disallow consecutive path separator in use paths</li>
<li><a href="8ae37b75d6"><code>8ae37b7</code></a> Fix duplicated name of mut self bare fn arg</li>
<li><a href="78401020ba"><code>7840102</code></a> Release 2.0.6</li>
<li><a href="e76d6441fd"><code>e76d644</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/syn/issues/1420">#1420</a> from dtolnay/nonbracemacro</li>
<li><a href="6dcc48070f"><code>6dcc480</code></a> Keep non-brace macro invocations in trailing expr position as Expr::Macro</li>
<li><a href="d12db40c49"><code>d12db40</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/syn/issues/1419">#1419</a> from dtolnay/expectedsemi</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/syn/compare/2.0.3...2.0.8">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=2.0.3&new-version=2.0.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
This Pull Request changes the following:
- Add locking for `Set`s during iteration. We already do this for `Map`s.
- Properly implement negative zero handling for `add`, `has` and `delete`.
- Refactor some `Set` functions and add spec comments.
This Pull Request improves our test results display per edition and cleanups our edition detector logic.
It changes the following:
- Adds a new `edition` flag to limit the maximum edition that will be tested.
- Adds a new `versioned` flag to display all tested editions in a table.
- Adds utility methods to `SpecEdition` to detect the edition of a test and get all the available editions.
- Cleanups logic.
Output with this PR ~(We only collect ES5, ES6 and ES13 stats, so all other editions are a WIP)~:
![image](https://user-images.githubusercontent.com/38230983/227010384-883f0934-47be-4be7-84c2-a21feb9de8a9.png)
~Marking as a draft since I need to determine the version of the remaining features, but feel free to review everything else.~ Finished!
<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel necessary.
--->
This Pull Request fixes/closes #2700. It updates the `syn` dependency to v2.
I had to activate the "full" feature in order to make have the tuple elements available in `boa_macros/src/lib.rs` line 81. Maybe we could look for a different way of doing this (didn't spend time on it), to avoid activating all features of `syn`.
Bumps [regex](https://github.com/rust-lang/regex) from 1.7.1 to 1.7.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's changelog</a>.</em></p>
<blockquote>
<h1>1.7.2 (2023-03-21)</h1>
<p>This is a small release that fixes a failing test on FreeBSD.</p>
<p>Bug fixes:</p>
<ul>
<li>[BUG <a href="https://redirect.github.com/rust-lang/regex/issues/967">#967</a>](<a href="https://redirect.github.com/rust-lang/regex/issues/967">rust-lang/regex#967</a>):
Fix "no stack overflow" test which can fail due to the small stack size.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="32fed9429e"><code>32fed94</code></a> 1.7.2</li>
<li><a href="6a7ba1e578"><code>6a7ba1e</code></a> deps: bump to regex-syntax 0.6.29</li>
<li><a href="72d482f911"><code>72d482f</code></a> regex-syntax-0.6.29</li>
<li><a href="48b3ba4df7"><code>48b3ba4</code></a> changelog: 1.7.2</li>
<li><a href="d8e22ddf99"><code>d8e22dd</code></a> syntax: tweak the "no stack overflow" test</li>
<li>See full diff in <a href="https://github.com/rust-lang/regex/compare/1.7.1...1.7.2">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=regex&package-manager=cargo&previous-version=1.7.1&new-version=1.7.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.52 to 1.0.53.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/proc-macro2/releases">proc-macro2's releases</a>.</em></p>
<blockquote>
<h2>1.0.53</h2>
<ul>
<li>Add support for Rust 1.66's <code>source_text()</code> method (<a href="https://redirect.github.com/dtolnay/proc-macro2/issues/350">#350</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="98645fdcf6"><code>98645fd</code></a> Release 1.0.53</li>
<li><a href="b88dc25662"><code>b88dc25</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/proc-macro2/issues/350">#350</a> from dtolnay/sourcetext</li>
<li><a href="efeb5eceb1"><code>efeb5ec</code></a> Call site has no source text</li>
<li><a href="67c6cbaf16"><code>67c6cba</code></a> Expose proc_macro's source_text() on Span</li>
<li>See full diff in <a href="https://github.com/dtolnay/proc-macro2/compare/1.0.52...1.0.53">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=proc-macro2&package-manager=cargo&previous-version=1.0.52&new-version=1.0.53)](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#2673.
It changes the following:
- Add early errors to dynamic function constructors.
- Add tests that check for syntax errors when `super` is passed to the function constructor.
~Depends on #2683.~ Merged.
This Pull Request fixes#2658.
It changes the following:
- Makes `for .. of` loop execution more spec compliant.
- Rewrites iterator related opcodes to be able to use it on all for .. of/in loops.
- Adds some utility op codes.
This PR adds the `"trace"` feature flag that enables vm opcode tracing (off by default), most users aren't interested in tracing/debugging that's why I think it should be made out-in.
Bumps [simple_logger](https://github.com/borntyping/rust-simple_logger) from 4.0.0 to 4.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/borntyping/rust-simple_logger/releases">simple_logger's releases</a>.</em></p>
<blockquote>
<h2>v4.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Customizable timestamps format by <a href="https://github.com/ctaoist"><code>@ctaoist</code></a> in <a href="https://redirect.github.com/borntyping/rust-simple_logger/pull/79">borntyping/rust-simple_logger#79</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/borntyping/rust-simple_logger/compare/v4.0.0...v4.1.0">https://github.com/borntyping/rust-simple_logger/compare/v4.0.0...v4.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3a78bcf7ab"><code>3a78bcf</code></a> Add missing required-features to example</li>
<li><a href="cdab359515"><code>cdab359</code></a> Update documentation and bump version</li>
<li><a href="cc011a8c92"><code>cc011a8</code></a> Rename with_custom_timestamps to with_timestamp_format</li>
<li><a href="404005c660"><code>404005c</code></a> Test new method</li>
<li><a href="7a4df08e65"><code>7a4df08</code></a> Make Simplelogger.timeformat an Option</li>
<li><a href="168c403c1c"><code>168c403</code></a> Merge branch 'main' of <a href="https://github.com/borntyping/rust-simple_logger">https://github.com/borntyping/rust-simple_logger</a></li>
<li><a href="c32992bd7e"><code>c32992b</code></a> Merge pull request <a href="https://redirect.github.com/borntyping/rust-simple_logger/issues/79">#79</a> from ctaoist/main</li>
<li><a href="36ad1aceb0"><code>36ad1ac</code></a> Ignore IDE files</li>
<li><a href="0939c3da80"><code>0939c3d</code></a> fix bug</li>
<li><a href="5998a66006"><code>5998a66</code></a> 1. added examples/timestamps_format.rs</li>
<li>Additional commits viewable in <a href="https://github.com/borntyping/rust-simple_logger/compare/v4.0.0...v4.1.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=simple_logger&package-manager=cargo&previous-version=4.0.0&new-version=4.1.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 [prettier](https://github.com/prettier/prettier) from 2.8.5 to 2.8.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/prettier/prettier/releases">prettier's releases</a>.</em></p>
<blockquote>
<h2>2.8.6</h2>
<ul>
<li>Allow decorators on private members and class expressions</li>
</ul>
<p>🔗 <a href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#286">Changelog</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's changelog</a>.</em></p>
<blockquote>
<h1>2.8.6</h1>
<p><a href="https://github.com/prettier/prettier/compare/2.8.5...2.8.6">diff</a></p>
<h4>Allow decorators on private members and class expressions (<a href="https://redirect.github.com/prettier/prettier/pull/14548">#14548</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="ts"><code>// Input
class A {
@decorator()
#privateMethod () {}
}
<p>// Prettier 2.8.5
SyntaxError: Decorators are not valid here. (2:3)
1 | class A {
> 2 | <a href="https://github.com/decorator"><code>@decorator</code></a>()
| ^^^^^^^^^^^^
3 | #privateMethod () {}
4 | }</p>
<p>// Prettier 2.8.6
class A {
<a href="https://github.com/decorator"><code>@decorator</code></a>()
#privateMethod() {}
}
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="10fe1ed623"><code>10fe1ed</code></a> Release 2.8.6</li>
<li><a href="44aef0b1ba"><code>44aef0b</code></a> Allow decorator on private members and class expressions (<a href="https://redirect.github.com/prettier/prettier/issues/14548">#14548</a>)</li>
<li><a href="ddf3b43c33"><code>ddf3b43</code></a> Clean changelog</li>
<li><a href="71ba29f22b"><code>71ba29f</code></a> Git blame ignore 2.8.5</li>
<li><a href="c1808e86a3"><code>c1808e8</code></a> Bump Prettier dependency to 2.8.5</li>
<li>See full diff in <a href="https://github.com/prettier/prettier/compare/2.8.5...2.8.6">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prettier&package-manager=npm_and_yarn&previous-version=2.8.5&new-version=2.8.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
This is calculated based the tests `es5id` or `es6id`.
Judging by [this](https://github.com/tc39/test262/issues/1557) it's probably not the best method of doing it, but the alternative would require a lot of rework on the boa_tester so that it can pull an older version of the test262 spec which has it's own problems since there's not really an "ES5" only version.
I would think that if we're 100% passing on es5id's then it's safe to assume boa supports es5 (assuming test262's es5id is covering all the es5 cases)
This Pull Request fixes/closes #2629.
It changes the following:
- Store `spec_version` in TestResult based on the tests `es[6/5]id`
- Count all es5, es6 and their test outcome during `TestSuite::run()`
- Print the conformance.
I'm serializing the `spec_version` outcomes so that it can be displayed in test262 github page. I'd like to work on that too if possible. Let me know if there's anything more I should cover in this PR, I'll gladly do it :)
Co-authored-by: jedel1043 <jedel0124@gmail.com>
This Pull Request changes the following:
- Implement `with` statement parsing, ast node, compilation and excution.
- Implement object environments that are used in the `with` statement excution.
The implementation of object environments can probably be optimized further by using more compile-time information about when object environments can exist. Maybe there could also be a separate environment stack for object environments to reduce the filtering and iteration that is needed with the current implementation.
This does not fix all tests in the `test/language/statements/with` suite yet. But for most failing tests that I have looked at we are missing other features / have bugs elsewhere.
As a note for the review:
The functions in the `impl Context` block in `boa_engine/src/environments/runtime.rs` are mostly copied / moved from the existing functions. The only change there should be the addition of the object environment logic. They had to be moved to `Context` because of borrow semantics.
Bumps [clap](https://github.com/clap-rs/clap) from 4.1.9 to 4.1.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v4.1.11</h2>
<h2>[4.1.11] - 2023-03-17</h2>
<h3>Internal</h3>
<ul>
<li>Update <code>bitflags</code></li>
</ul>
<h2>v4.1.10</h2>
<h2>[4.1.10] - 2023-03-17</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> On Windows, avoid underlined text artifacts</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[4.1.11] - 2023-03-17</h2>
<h3>Internal</h3>
<ul>
<li>Update <code>bitflags</code></li>
</ul>
<h2>[4.1.10] - 2023-03-17</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> On Windows, avoid underlined text artifacts</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b69cf080ce"><code>b69cf08</code></a> chore: Release</li>
<li><a href="4f2f7024db"><code>4f2f702</code></a> docs: Update changelog</li>
<li><a href="4c05dfb8a5"><code>4c05dfb</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4771">#4771</a> from nicholasbishop/bishop-update-bitflags</li>
<li><a href="6878a1911b"><code>6878a19</code></a> chore: Update bitflags dep to 2.0</li>
<li><a href="9aee6d31fd"><code>9aee6d3</code></a> chore: Release</li>
<li><a href="97776254a7"><code>9777625</code></a> docs: Update changelog</li>
<li><a href="cdff81540c"><code>cdff815</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/4767">#4767</a> from epage/win-ansi</li>
<li><a href="fcd6a65e18"><code>fcd6a65</code></a> fix(help): Don't style newlines</li>
<li>See full diff in <a href="https://github.com/clap-rs/clap/compare/v4.1.9...v4.1.11">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.1.9&new-version=4.1.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>