Bumps [serde](https://github.com/serde-rs/serde) from 1.0.159 to 1.0.160.
<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.160</h2>
<ul>
<li>Make derived serializer/deserializer internals <code>doc(hidden)</code> (<a href="https://redirect.github.com/serde-rs/serde/issues/2426">#2426</a>, thanks <a href="https://github.com/compiler-errors"><code>@compiler-errors</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0c6a2bbf79"><code>0c6a2bb</code></a> Release 1.0.160</li>
<li><a href="a80d830f27"><code>a80d830</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2426">#2426</a> from compiler-errors/dont-doc-private</li>
<li><a href="5f3fd9994e"><code>5f3fd99</code></a> Make serializer/deserializer internals doc(hidden)</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.159...v1.0.160">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.159&new-version=1.0.160)](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](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 [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>
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
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.155 to 1.0.156.
<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.156</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="54671259aa"><code>5467125</code></a> Release 1.0.156</li>
<li><a href="994f7c7924"><code>994f7c7</code></a> Format with rustfmt 1.5.2-nightly</li>
<li><a href="7a8e4977e2"><code>7a8e497</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2401">#2401</a> from dtolnay/docderive</li>
<li><a href="fb7b6ea7ea"><code>fb7b6ea</code></a> Enable serde derive feature when built by docs.rs</li>
<li><a href="063dd5b93f"><code>063dd5b</code></a> Show derive macros in serde's rustdoc</li>
<li><a href="a38aa31ade"><code>a38aa31</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2400">#2400</a> from Nilstrieb/explicit-reexport</li>
<li><a href="f42b2581da"><code>f42b258</code></a> Use explicit re-export of <code>serde_derive</code> to give rustc more info</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.155...v1.0.156">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.155&new-version=1.0.156)](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](https://github.com/serde-rs/serde) from 1.0.154 to 1.0.155.
<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.155</h2>
<ul>
<li>Support <code>Serialize</code> and <code>Deserialize</code> impls for <code>core::ffi::CStr</code> and <code>alloc::ffi::CString</code> without "std" feature (<a href="https://redirect.github.com/serde-rs/serde/issues/2374">#2374</a>, thanks <a href="https://github.com/safarir"><code>@safarir</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2ba406726f"><code>2ba4067</code></a> Release 1.0.155</li>
<li><a href="7e9826e17b"><code>7e9826e</code></a> Add link to core CStr stabilization announcement</li>
<li><a href="f4dcc5c918"><code>f4dcc5c</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2374">#2374</a> from safarir/master</li>
<li><a href="8b1887c440"><code>8b1887c</code></a> Remove unneeded attr_name argument when parsing borrow attr</li>
<li><a href="bbfb1d3504"><code>bbfb1d3</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2399">#2399</a> from dtolnay/borrow</li>
<li><a href="e106feb5ec"><code>e106feb</code></a> Eagerly parse variant-level borrow attribute instead of deferring entire Meta</li>
<li><a href="696f6f56db"><code>696f6f5</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2398">#2398</a> from dtolnay/borrow</li>
<li><a href="b7b636a23f"><code>b7b636a</code></a> Treat field-level borrow attr as duplicate of variant-level borrow attr</li>
<li><a href="183b91775e"><code>183b917</code></a> Fix some comments in parsing of from/try_from/into attributes</li>
<li><a href="0e70f59021"><code>0e70f59</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2396">#2396</a> from dtolnay/msg</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.154...v1.0.155">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.154&new-version=1.0.155)](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](https://github.com/serde-rs/serde) from 1.0.153 to 1.0.154.
<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.154</h2>
<ul>
<li>Fix "undeclared lifetime" error in generated code when deriving Deserialize for an enum with both <code>flatten</code> and <code>'static</code> fields (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2383">#2383</a>, thanks <a href="https://github.com/Mingun"><code>@Mingun</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6a5da85fcd"><code>6a5da85</code></a> Release 1.0.154</li>
<li><a href="0750eee4ff"><code>0750eee</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2383">#2383</a> from Mingun/fix-flatten+static</li>
<li><a href="ef551a517c"><code>ef551a5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2389">#2389</a> from dtolnay/trimstart</li>
<li><a href="1c5ea24f76"><code>1c5ea24</code></a> Replace use of deprecated trim_left_matches with trim_start_matches</li>
<li><a href="88d73e5250"><code>88d73e5</code></a> Format PR 2387 with rustfmt</li>
<li><a href="1ff2a972c6"><code>1ff2a97</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2388">#2388</a> from serde-rs/exhaustivepatterns</li>
<li><a href="bb72fe2726"><code>bb72fe2</code></a> Update the comment on simpler exhaustive matching in derive</li>
<li><a href="38c130a303"><code>38c130a</code></a> Do not generate <code>DeserializeSeed</code> impl when not needed</li>
<li><a href="c7393614ff"><code>c739361</code></a> Fix generation of non-existent lifetime 'de when enum contains a #[serde(flat...</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.153...v1.0.154">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.153&new-version=1.0.154)](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](https://github.com/serde-rs/serde) from 1.0.152 to 1.0.153.
<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.153</h2>
<ul>
<li>Support <code>serde(alias = "…")</code> attribute used inside of flattened struct (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2387">#2387</a>, thanks <a href="https://github.com/bebecue"><code>@bebecue</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="e50b14afee"><code>e50b14a</code></a> Release 1.0.153</li>
<li><a href="cbd1cbef07"><code>cbd1cbe</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2387">#2387</a> from bebecue/fix-1504</li>
<li><a href="01da3f79c9"><code>01da3f7</code></a> Add tests for <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2387">#2387</a></li>
<li><a href="f5e0fbcb14"><code>f5e0fbc</code></a> Make #[serde(alias)] works in #[serde(flatten)] context</li>
<li><a href="a13c6382b6"><code>a13c638</code></a> Ignore let_underscore_untyped pedantic clippy lint</li>
<li><a href="f85c4f2fa9"><code>f85c4f2</code></a> Delete unused toolchain_find dependency</li>
<li><a href="a9a9903107"><code>a9a9903</code></a> Ignore extra_unused_type_parameters clippy lint in test</li>
<li><a href="35e5cf3e15"><code>35e5cf3</code></a> Revert uninlined_format_args change in test</li>
<li><a href="07fc9f689e"><code>07fc9f6</code></a> Replace serialize_str+format -> collect_str+format_args</li>
<li><a href="14b0e18c57"><code>14b0e18</code></a> Delete deny(unaligned_references) from test</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.153">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.152&new-version=1.0.153)](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>
~~Builds off of #2529.~~ Merged.
This Pull Request allows passing any function returning `impl Future<Output = JsResult<JsValue>>` to the `NativeFunction` constructor, allowing native concurrency hooks into the engine.
It changes the following:
- Adds a `NativeFunction::from_async_fn` function.
- Adds a new `JobQueue::enqueue_future_job` method.
- Adds an example usage on `boa_examples`.
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.17.0 to 1.17.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/matklad/once_cell/blob/master/CHANGELOG.md">once_cell's changelog</a>.</em></p>
<blockquote>
<h2>1.17.1</h2>
<ul>
<li>Make <code>OnceRef</code> implementation compliant with <a href="https://github-redirect.dependabot.com/rust-lang/rust/issues/95228">strict provenance</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="35148638c5"><code>3514863</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/222">#222</a></li>
<li><a href="f0ad5f083d"><code>f0ad5f0</code></a> Bump version to 1.17.1 and update the changelog.</li>
<li><a href="78ab172105"><code>78ab172</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/219">#219</a></li>
<li><a href="6e351e5204"><code>6e351e5</code></a> Use AtomicPtr for race::OnceRef to avoid ptr-int-ptr casts (keeping</li>
<li><a href="d706539c6f"><code>d706539</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/214">#214</a></li>
<li><a href="cc07949250"><code>cc07949</code></a> Explain safety of <code>unsync::OnceCell::get(&self)</code> in more detail</li>
<li><a href="af9d29c966"><code>af9d29c</code></a> drop useless arg</li>
<li>See full diff in <a href="https://github.com/matklad/once_cell/compare/v1.17.0...v1.17.1">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=once_cell&package-manager=cargo&previous-version=1.17.0&new-version=1.17.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
I'm creating this draft PR, since I wanted to have some early feedback, and because I though I would have time to finish it last week, but I got caught up with other stuff. Feel free to contribute :)
The main thing here is that I have divided `eval()`, `parse()` and similar functions so that they can decide if they are parsing scripts or modules. Let me know your thoughts.
Then, I was checking the import & export parsing, and I noticed we are using `TokenKind::Identifier` for `IdentifierName`, so I changed that name. An `Identifier` is an `IdentifierName` that isn't a `ReservedWord`. This means we should probably also adapt all `IdentifierReference`, `BindingIdentifier` and so on parsing. I already created an `Identifier` parser.
Something interesting there is that `await` is not a valid `Identifier` if the goal symbol is `Module`, as you can see in the [spec](https://tc39.es/ecma262/#prod-LabelIdentifier), but currently we don't have that information in the `InputElement` enumeration, we only have `Div`, `RegExp` and `TemplateTail`. How could we approach this?
Co-authored-by: jedel1043 <jedel0124@gmail.com>
Another change extracted from #2411.
This PR changes the following:
- Improves our identifier parsing with a new `Identifier` parser that unifies parsing for `IdentifierReference`, `BindingIdentifier` and `LabelIdentifier`.
- Slightly improves some error messages.
- Extracts our manual initialization of static `Sym`s with a new `static_syms` proc macro.
- Adds `set_module_mode` and `module_mode` to the cursor to prepare for modules.
<!---
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 enables support for `no_std` targets on some of our sub-crates. I intentionally left out `boa_ast` and `boa_cli` because they're the largest crates we have after `boa_engine`.
`boa_gc` is a monster on its own, because we'll need to design a `no_std` multithreaded GC.
Anyways, this changes the following:
- Adds support for `no_std` on `boa_unicode`.
- Adds support for `no_std` on `boa_profiler`.
- Adds support for `no_std` on `boa_interner`.
- Adds support for `no_std` on `boa_icu_provider`.
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.16.0 to 1.17.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.17.0</h2>
<ul>
<li>Add <code>race::OnceRef</code> for storing a <code>&'a T</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="85e372f818"><code>85e372f</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/213">#213</a></li>
<li><a href="fae9f73da6"><code>fae9f73</code></a> Add once_cell::race::OnceRef</li>
<li><a href="0d0dae1260"><code>0d0dae1</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/212">#212</a></li>
<li><a href="e94003a299"><code>e94003a</code></a> Removed Debug impls to de-clutter example</li>
<li><a href="3f750e1b6b"><code>3f750e1</code></a> Fixed <code>LateInit</code> example stack overflow</li>
<li><a href="ba8b9fe98b"><code>ba8b9fe</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/209">#209</a></li>
<li><a href="ea438d8e50"><code>ea438d8</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/210">#210</a></li>
<li><a href="f68835a884"><code>f68835a</code></a> fix miri tests</li>
<li><a href="6d46f401f7"><code>6d46f40</code></a> Add references to generic_once_cell</li>
<li><a href="47bf9ae994"><code>47bf9ae</code></a> Readme: Sync related crates to docs</li>
<li>See full diff in <a href="https://github.com/matklad/once_cell/compare/v1.16.0...v1.17.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.16.0&new-version=1.17.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 [serde](https://github.com/serde-rs/serde) from 1.0.151 to 1.0.152.
<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.152</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="ccf9c6fc07"><code>ccf9c6f</code></a> Release 1.0.152</li>
<li><a href="b25d0ea7f9"><code>b25d0ea</code></a> Link to Hjson data format</li>
<li><a href="4f4557fd05"><code>4f4557f</code></a> Link to bencode data format</li>
<li><a href="bf400d6799"><code>bf400d6</code></a> Link to serde_tokenstream data format</li>
<li><a href="4d2e36d19b"><code>4d2e36d</code></a> Wrap flexbuffers bullet point to 80 columns</li>
<li><a href="df6310e5f5"><code>df6310e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2347">#2347</a> from dtolnay/docsrs</li>
<li><a href="938ab5ddec"><code>938ab5d</code></a> Replace docs.serde.rs links with intra-rustdoc links</li>
<li><a href="ef5a0de384"><code>ef5a0de</code></a> Point documentation links to docs.rs instead of docs.serde.rs</li>
<li><a href="5d186c77a6"><code>5d186c7</code></a> Opt out -Zrustdoc-scrape-examples on docs.rs</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.151...v1.0.152">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.151&new-version=1.0.152)](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 #1180. (I'll open a tracking issue for the progress)
It changes the following:
- Redesigns the internal API of Intl to (hopefully!) make it easier to implement a service.
- Implements the `Intl.Locale` service.
- Implements the `Intl.Collator` service.
- Implements the `Intl.ListFormat` service.
On the subject of the failing tests. Some of them are caused by missing locale data in the `icu_testdata` crate; we would need to regenerate that with the missing locales, or vendor a custom default data.
On the other hand, there are some tests that are bugs from the ICU4X crate. The repo https://github.com/jedel1043/icu4x-test262 currently tracks the found bugs when running test262. I'll sync with the ICU4X team to try to fix those.
cc @sffc
Per the [Standard Library development guide](https://std-dev-guide.rust-lang.org/code-considerations/performance/inline.html):
> You can add `#[inline]`:
>
> - To public, small, non-generic functions.
>
> You shouldn't need `#[inline]`:
> - On methods that have any generics in scope.
> - On methods on traits that don't have a default implementation.
>
> `#[inline]` can always be introduced later, so if you're in doubt they can just be removed.
This PR follows this guideline to reduce the number of `#[inline]` annotations in our code, removing the annotation in:
- Non-public functions
- Generic functions
- Medium and big functions.
Hopefully this shouldn't impact our perf at all, but let's wait to see the benchmark results.
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.150 to 1.0.151.
<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.151</h2>
<ul>
<li>Update <code>serde::</code>{<code>ser</code>,<code>de</code>}<code>::StdError</code> to re-export <code>core::error::Error</code> when serde is built with <code>feature="std"</code> <strong>off</strong> and <code>feature="unstable"</code> <strong>on</strong> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2344">#2344</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="44bf3633af"><code>44bf363</code></a> Release 1.0.151</li>
<li><a href="f261184416"><code>f261184</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2344">#2344</a> from dtolnay/coreerror</li>
<li><a href="df40f80fcf"><code>df40f80</code></a> Make StdError identical to core::error::Error on feature="unstable"</li>
<li><a href="e7060ba83d"><code>e7060ba</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2342">#2342</a> from atouchet/badges</li>
<li><a href="d98f0eea3d"><code>d98f0ee</code></a> Update build status badge</li>
<li><a href="4f157a8b81"><code>4f157a8</code></a> Prevent build.rs rerunning unnecessarily on all source changes</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.150...v1.0.151">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.150&new-version=1.0.151)](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](https://github.com/serde-rs/serde) from 1.0.149 to 1.0.150.
<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.150</h2>
<ul>
<li>Relax some trait bounds from the <code>Serialize</code> impl of <code>HashMap</code> and <code>BTreeMap</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2334">#2334</a>)</li>
<li>Enable <code>Serialize</code> and <code>Deserialize</code> impls of <code>std::sync::atomic</code> types on more platforms (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2337">#2337</a>, thanks <a href="https://github.com/badboy"><code>@badboy</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d493649f52"><code>d493649</code></a> Release 1.0.150</li>
<li><a href="0e947e6c3b"><code>0e947e6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2338">#2338</a> from serde-rs/atomic</li>
<li><a href="9249dab54c"><code>9249dab</code></a> Deduplicate atomic_impl macro calls</li>
<li><a href="7440e56c53"><code>7440e56</code></a> Deduplicate atomic_impl macro implementations</li>
<li><a href="0d79306285"><code>0d79306</code></a> Update atomic_impl macros to have same input syntax in all cfgs</li>
<li><a href="37faaf295e"><code>37faaf2</code></a> Mention target_has_atomic stabilization</li>
<li><a href="650358fa00"><code>650358f</code></a> Replace obsolete comment about target_has_atomic support</li>
<li><a href="6159ead404"><code>6159ead</code></a> Invert use_target_has_atomic cfg</li>
<li><a href="692ac99c69"><code>692ac99</code></a> Format PR 2337 with rustfmt</li>
<li><a href="86161ce15f"><code>86161ce</code></a> Adjust spacing in some macro matchers</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.149...v1.0.150">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.149&new-version=1.0.150)](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](https://github.com/serde-rs/serde) from 1.0.148 to 1.0.149.
<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.149</h2>
<ul>
<li>Relax some trait bounds from the <code>Serialize</code> impl of <code>BinaryHeap</code>, <code>BTreeSet</code>, and <code>HashSet</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2333">#2333</a>, thanks <a href="https://github.com/jonasbb"><code>@jonasbb</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0353354d61"><code>0353354</code></a> Release 1.0.149</li>
<li><a href="34ae0422f4"><code>34ae042</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2333">#2333</a> from jonasbb/remove-trait-bounds</li>
<li><a href="cc128feb4c"><code>cc128fe</code></a> Remove some Serialize trait bounds</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.148...v1.0.149">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.148&new-version=1.0.149)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
<!---
Thank you for contributing to Boa! Please fill out the template below, and remove or add any
information as you feel necessary.
--->
Submitting this as a draft for feedback/second opinions. This draft contains some changes to the documentation.
Quick Overview:
- Potential `Boa` header for Boa's crates added to `boa_engine`.
- Changes the wording to a lot of module headers (See `builtins` module and `object/builtins` module).
- Updating built-in wrapper's code examples to use `?` operator.
- Adds the doc logo URL to a few crates that didn't have it.
The main idea of this draft is to move away from the "This module implements" wording as it feels a bit duplicative when listed under the Modules section (mainly focusing around changes in `boa_engine` to start).
While working on this, I had a question about whether we should be using JavaScript or ECMAScript in the Boa's documentation. We do seem to currently use both, and this draft uses JavaScript heavily in the wording.
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.147 to 1.0.148.
<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.148</h2>
<ul>
<li>Support <code>remote</code> derive for generic types that have private fields (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2327">#2327</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7766103174"><code>7766103</code></a> Release 1.0.148</li>
<li><a href="30f7c7110d"><code>30f7c71</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2331">#2331</a> from dtolnay/remote</li>
<li><a href="50354c2d0b"><code>50354c2</code></a> Improve error message on remote derive duplicate generics</li>
<li><a href="c4f67e679f"><code>c4f67e6</code></a> Add ui test of duplicate generics in remote derive</li>
<li><a href="0daafe423f"><code>0daafe4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2330">#2330</a> from dtolnay/remote</li>
<li><a href="37021910c9"><code>3702191</code></a> Fix Into conversion involving generic remote derive with getter</li>
<li><a href="7328b34810"><code>7328b34</code></a> Add test of generic remote derive with getter</li>
<li><a href="fabbd2b097"><code>fabbd2b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2329">#2329</a> from dtolnay/safety</li>
<li><a href="6814f978d7"><code>6814f97</code></a> Revert Buf::as_str safety change from PR 2319</li>
<li><a href="4ea403c54a"><code>4ea403c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2328">#2328</a> from dtolnay/remote</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.147...v1.0.148">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.147&new-version=1.0.148)](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 restructures the lint deny/warn/allow lists in almost all crates. `boa_engine` will be done in a follow up PR as the changes there are pretty extensive.
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.9.1 to 1.9.2.
<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.2</p>
<ul>
<li><code>IndexMap</code> and <code>IndexSet</code> both implement <code>arbitrary::Arbitrary<'_></code> and
<code>quickcheck::Arbitrary</code> if those optional dependency features are enabled.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4d52cf338c"><code>4d52cf3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/bluss/indexmap/issues/247">#247</a> from cuviper/arbitrary-1.x</li>
<li><a href="4d410509d2"><code>4d41050</code></a> Release 1.9.2</li>
<li><a href="bc1a12f7f3"><code>bc1a12f</code></a> Add an Arbitrary release note</li>
<li><a href="2251812717"><code>2251812</code></a> impl Arbitrary for IndexMap and IndexSet</li>
<li><a href="fe98ec2a03"><code>fe98ec2</code></a> Revert "Run CI on 1.56.1 until next hashbrown release"</li>
<li>See full diff in <a href="https://github.com/bluss/indexmap/compare/1.9.1...1.9.2">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.1&new-version=1.9.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>
This Pull Request offers a fuzzer which is capable of detecting faults in the parser and interner. It does so by ensuring that the parsed AST remains the same between a parsed source and the result of parsing the `to_interned_string` result of the first parsed source.
It changes the following:
- Adds a fuzzer for the parser and interner.
Any issues I raise in association with this fuzzer will link back to this fuzzer.
You may run the fuzzer using the following commands:
```bash
$ cd boa_engine
$ cargo +nightly fuzz run -s none parser-idempotency
```
Co-authored-by: Addison Crump <addison.crump@cispa.de>
This Pull Request updates the codebase to the newest version of rustc (1.65.0).
It changes the following:
- Bumps `rust-version` to 1.65.0.
- Rewrites some snippets to use the new let else, ok_or_else and some other utils.
- Removes the `rustdoc::missing_doc_code_examples` allow lint from our codebase. (Context: https://github.com/rust-lang/rust/pull/101732)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.15.0 to 1.16.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.16.0</h2>
<ul>
<li>Add <code>no_std</code> implementation based on <code>critical-section</code>,
<a href="https://github-redirect.dependabot.com/matklad/once_cell/pull/195">#195</a>.</li>
<li>Deprecate <code>atomic-polyfill</code> feature (use the new <code>critical-section</code> instead)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="18e47d7308"><code>18e47d7</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/206">#206</a></li>
<li><a href="06ff1bd31f"><code>06ff1bd</code></a> publish 1.16.0</li>
<li><a href="04e1d59ce7"><code>04e1d59</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/204">#204</a></li>
<li><a href="32ba3f8aa8"><code>32ba3f8</code></a> clarify MSRV</li>
<li><a href="0ebafa5d2f"><code>0ebafa5</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/203">#203</a></li>
<li><a href="cb85e6b8b8"><code>cb85e6b</code></a> publish 1.16.0-pre.1</li>
<li><a href="b56e329d70"><code>b56e329</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/195">#195</a></li>
<li><a href="7d9afdb9d7"><code>7d9afdb</code></a> Add comment explaining <code>Mutex\<unsync::OnceCell></code>.</li>
<li><a href="32dada4dbe"><code>32dada4</code></a> Fix features.</li>
<li><a href="23d129038f"><code>23d1290</code></a> Decrease <code>critical-section</code> version.</li>
<li>Additional commits viewable in <a href="https://github.com/matklad/once_cell/compare/v1.15.0...v1.16.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.15.0&new-version=1.16.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 [serde](https://github.com/serde-rs/serde) from 1.0.145 to 1.0.147.
<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.147</h2>
<ul>
<li>Add <code>serde:🇩🇪:value::EnumAccessDeserializer</code> which transforms an <code>EnumAccess</code> into a <code>Deserializer</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2305">#2305</a>)</li>
</ul>
<h2>v1.0.146</h2>
<ul>
<li>Allow internally tagged newtype variant to contain unit (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2303">#2303</a>, thanks <a href="https://github.com/tage64"><code>@tage64</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f41509261e"><code>f415092</code></a> Release 1.0.147</li>
<li><a href="6d009711a2"><code>6d00971</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2305">#2305</a> from serde-rs/enumaccessdeserializer</li>
<li><a href="354b48fd40"><code>354b48f</code></a> Add EnumAccessDeserializer to turn EnumAccess into a Deserializer</li>
<li><a href="3fd8e52f0c"><code>3fd8e52</code></a> Release 1.0.146</li>
<li><a href="142dce0d3d"><code>142dce0</code></a> Touch up PR 2303</li>
<li><a href="6aed101630"><code>6aed101</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2303">#2303</a> from tage64/master</li>
<li><a href="e2ccfd9ea7"><code>e2ccfd9</code></a> Remove bad deserialization from sequence to internally tagged newtype variant...</li>
<li><a href="a07d794f74"><code>a07d794</code></a> Update test_suite/tests/test_annotations.rs</li>
<li><a href="90d28fc314"><code>90d28fc</code></a> Serialize and deserialize a tagged newtype variant over unit () as if it was ...</li>
<li><a href="55cf0ac51a"><code>55cf0ac</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2297">#2297</a> from serde-rs/output</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.145...v1.0.147">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.145&new-version=1.0.147)](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>
In most cases, the `ToInternedString` was just calling `self.to_indented_string(interner, 0)`. This avoids all this duplicate code by adding a new trait, `ToIndentedString`. Any type implementing that automatically implements `ToInternedString`.
I have also added a bunch of `#[inline]` in one-liners, and some one-line documentations for some functions.
I have noticed that we also use `contains()` and `contains_arguments()` a lot. Would it make sense to create traits for this?
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`.
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 PR fixes#2275
There are keywords that are allowed as identifiers.
https://tc39.es/ecma262/#sec-keywords-and-reserved-words
> Those that are always allowed as identifiers, but also appear as keywords within certain syntactic productions, at places where Identifier is not allowed: as, async, from, get, meta, of, set, and target.
This PR adds test cases for them, and fixes some cases such as
`class A { set(a, b) { } }`
`function of() { }`
`let obj = {async: true}`
`async()`