The section about `Symbol` on the [specification](https://tc39.es/ecma262/#sec-ecmascript-language-types-symbol-type) says:
> The Symbol type is the set of all non-String values that may be used as the key of an Object property ([6.1.7](https://tc39.es/ecma262/#sec-object-type)).
Each possible Symbol value is unique and immutable.
Our previous implementation of `JsSymbol` used `Rc` and a thread local `Cell<usize>`. However, this meant that two different symbols in two different threads could share the same hash, making symbols not unique.
Also, the [GlobalSymbolRegistry](https://tc39.es/ecma262/#table-globalsymbolregistry-record-fields) is meant to be shared by all realms, including realms that are not in the same thread as the main one; this forces us to replace our current thread local global symbol registry with a thread-safe one that uses `DashMap` for concurrent access. However, the global symbol registry uses `JsString`s as keys and values, which forces us to either use `Vec<u16>` instead (wasteful and needs to allocate to convert to `JsString` on each access) or make `JsString` thread-safe with an atomic counter. For this reason, I implemented the second option.
This PR changes the following:
- Makes `JsSymbol` thread-safe by using Arc instead of Rc, and making `SYMBOL_HASH_COUNT` an `AtomicU64`.
- ~~Makes `JsString` thread-safe by using `AtomicUsize` instead of `Cell<usize>` for its ref count.~~ EDIT: Talked with @jasonwilliams and we decided to use `Box<[u16]>` for the global registry instead, because this won't penalize common usage of `JsString`, which is used a LOT more than `JsSymbol`.
- Makes the `GLOBAL_SYMBOL_REGISTRY` truly global, using `DashMap` as our global map that is shared by all threads.
- Replaces some thread locals with thread-safe alternatives, such as static arrays and static indices.
- Various improvements to all related code for this.
This PR is a complete redesign of our current native functions and closures API.
I was a bit dissatisfied with our previous design (even though I created it 😆), because it had a lot of superfluous traits, a forced usage of `Gc<GcCell<T>>` and an overly restrictive `NativeObject` bound. This redesign, on the other hand, simplifies a lot our public API, with a simple `NativeCallable` struct that has several constructors for each type of required native function.
This new design doesn't require wrapping every capture type with `Gc<GcCell<T>>`, relaxes the trait requirement to `Trace + 'static` for captures, can be reused in both `JsObject` functions and (soonish) host defined functions, and is (in my opinion) a bit cleaner than the previous iteration. It also offers an `unsafe` API as an escape hatch for users that want to pass non-Copy closures which don't capture traceable types.
Would ask for bikeshedding about the names though, because I don't know if `NativeCallable` is the most precise name for this. Same about the constructor names; I added the `from` prefix to all of them because it's the "standard" practice, but seeing the API doesn't have any other method aside from `call`, it may be better to just remove the prefix altogether.
Let me know what you think :)
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
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 [thiserror](https://github.com/dtolnay/thiserror) from 1.0.37 to 1.0.38.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/thiserror/releases">thiserror's releases</a>.</em></p>
<blockquote>
<h2>1.0.38</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="74bfe75eb2"><code>74bfe75</code></a> Release 1.0.38</li>
<li><a href="cfc7d8c959"><code>cfc7d8c</code></a> Update build status badge</li>
<li><a href="db78fa2cd8"><code>db78fa2</code></a> Update ui test suite to nightly-2022-12-15</li>
<li><a href="c25a710813"><code>c25a710</code></a> Time out workflows after 45 minutes</li>
<li><a href="464e2e798e"><code>464e2e7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/200">#200</a> from dtolnay/displayattr</li>
<li><a href="4b06a3e263"><code>4b06a3e</code></a> Add test of Display impl nested inside display attribute</li>
<li><a href="29ee95ef47"><code>29ee95e</code></a> Ui test changes for trybuild 1.0.66</li>
<li>See full diff in <a href="https://github.com/dtolnay/thiserror/compare/1.0.37...1.0.38">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.37&new-version=1.0.38)](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.89 to 1.0.91.
<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.91</h2>
<ul>
<li>Opt out of <code>-Zrustdoc-scrape-examples</code> on docs.rs for now</li>
</ul>
<h2>v1.0.90</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="26f147fde7"><code>26f147f</code></a> Release 1.0.91</li>
<li><a href="d9cdb98f2e"><code>d9cdb98</code></a> Opt out -Zrustdoc-scrape-examples on docs.rs</li>
<li><a href="331511d73d"><code>331511d</code></a> Release 1.0.90</li>
<li><a href="87538296f7"><code>8753829</code></a> Replace ancient CI service provider in readme</li>
<li><a href="0a43394ef6"><code>0a43394</code></a> Update build status badge</li>
<li><a href="8794844eee"><code>8794844</code></a> Prevent build.rs rerunning unnecessarily on all source changes</li>
<li><a href="0b548714d8"><code>0b54871</code></a> Time out workflows after 45 minutes</li>
<li><a href="ecad462c8e"><code>ecad462</code></a> Fix renamed let_underscore_drop lint</li>
<li><a href="9295c96c8e"><code>9295c96</code></a> Resolve needless_borrowed_reference clippy lints</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.89...v1.0.91">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.89&new-version=1.0.91)](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 [dyn-clone](https://github.com/dtolnay/dyn-clone) from 1.0.9 to 1.0.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/dyn-clone/releases">dyn-clone's releases</a>.</em></p>
<blockquote>
<h2>1.0.10</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="bba3d29def"><code>bba3d29</code></a> Release 1.0.10</li>
<li><a href="dd33dfe106"><code>dd33dfe</code></a> Update build status badge</li>
<li><a href="8f11359eeb"><code>8f11359</code></a> Time out workflows after 45 minutes</li>
<li><a href="4fde3743b1"><code>4fde374</code></a> MIT copyright line</li>
<li><a href="9d4da26691"><code>9d4da26</code></a> Ui test changes for trybuild 1.0.66</li>
<li><a href="1caba5bc65"><code>1caba5b</code></a> Avoid cargo 1.43–1.45 in GitHub Actions</li>
<li><a href="fe54db8b3a"><code>fe54db8</code></a> Add a CI check build on lowest supported compiler</li>
<li><a href="8ff359df96"><code>8ff359d</code></a> Raise minimum tested toolchain to rust 1.56</li>
<li><a href="e7636b5cfc"><code>e7636b5</code></a> Remove default package.readme metadata from Cargo.toml</li>
<li><a href="44d1878326"><code>44d1878</code></a> GitHub Workflows security hardening</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/dyn-clone/compare/1.0.9...1.0.10">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dyn-clone&package-manager=cargo&previous-version=1.0.9&new-version=1.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 [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>
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 `boa_engine`. It adds a lot of documentation to pup functions. There are still a few clippy lints that are not fixed, mainly regarding casting of number types. Fixing those lints effectiveley would in some cases probably require bigger refactors.
This should probably wait for #2449 to be merged, because that PR already fixes that lints regarding the `Date` built-in.
This PR is a WIP implementation of a vm instruction flowgraph generator
This aims to make the vm easier to debug and understand for both newcomers and experienced devs.
For example if we have the following code:
```js
let i = 0;
while (i < 10) {
if (i == 3) {
break;
}
i++;
}
```
It generates the following instructions (which is hard to read, especially jumps):
<details>
```
----------------------Compiled Output: '<main>'-----------------------
Location Count Opcode Operands
000000 0000 PushZero
000001 0001 DefInitLet 0000: 'i'
000006 0002 LoopStart
000007 0003 LoopContinue
000008 0004 GetName 0000: 'i'
000013 0005 PushInt8 10
000015 0006 LessThan
000016 0007 JumpIfFalse 78
000021 0008 PushDeclarativeEnvironment 0, 1
000030 0009 GetName 0000: 'i'
000035 0010 PushInt8 3
000037 0011 Eq
000038 0012 JumpIfFalse 58
000043 0013 PushDeclarativeEnvironment 0, 0
000052 0014 Jump 78
000057 0015 PopEnvironment
000058 0016 GetName 0000: 'i'
000063 0017 IncPost
000064 0018 RotateRight 2
000066 0019 SetName 0000: 'i'
000071 0020 Pop
000072 0021 PopEnvironment
000073 0022 Jump 7
000078 0023 LoopEnd
Literals:
<empty>
Bindings:
0000: i
Functions:
<empty>
```
</details>
And the flow graph is generated:
![flowgraph](https://user-images.githubusercontent.com/8566042/200589387-40b36ad7-d2f2-4918-a3e4-5a8fa5eee89b.png)
The beginning of the function is marked by the `start` node (in green) and end (in red). In branching the "yes" branch is marked in green and "no" in red.
~~This only generates in [graphviz format](https://en.wikipedia.org/wiki/DOT_(graph_description_language)) (a widely used format) but it would be nice to also generate to a format that `mermaid.js` can understand and that could be put in articles https://github.com/boa-dev/boa-dev.github.io/issues/26~~
TODO:
- [x] Generate graphviz format
- [x] Generate mermaid format
- [x] Programmatically generate colors push and pop env instructions
- [x] Display nested functions in sub-sub-graphs.
- [x] Put under a feature (`"flowgraph"`)
- [x] Handle try/catch, switch instructions
- [x] CLI option for configuring direction of flow (by default it is top down)
- [x] Handle `Throw` instruction (requires keeping track of try blocks)
- [x] Documentation
- [x] Prevent node name collisions (functions with the same name)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.88 to 1.0.89.
<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.89</h2>
<ul>
<li>Fix invalid JSON incorrectly accepted when a large number has no digits after decimal point (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/953">#953</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d2f936855d"><code>d2f9368</code></a> Release 1.0.89</li>
<li><a href="0b898369f9"><code>0b89836</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/956">#956</a> from dtolnay/decimal</li>
<li><a href="9d94e920ef"><code>9d94e92</code></a> Require at least one digit after decimal point</li>
<li><a href="c27b02334b"><code>c27b023</code></a> Add regression test for issue 953</li>
<li><a href="586fefb5a1"><code>586fefb</code></a> Resolve semicolon_if_nothing_returned pedantic clippy lint</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.88...v1.0.89">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.88&new-version=1.0.89)](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.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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.87 to 1.0.88.
<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.88</h2>
<ul>
<li>Optimize serde_json::Map's implementation of <code>append</code> and <code>clone_from</code> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/952">#952</a>, thanks <a href="https://github.com/Lucretiel"><code>@Lucretiel</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9eb66da7e0"><code>9eb66da</code></a> Release 1.0.88</li>
<li><a href="057957ccf4"><code>057957c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/952">#952</a> from Lucretiel/map-traits</li>
<li><a href="3347248d82"><code>3347248</code></a> Add <code>clone_from</code> to <code>Map</code>; <code>Map::append</code> now uses <code>IndexMap::extend</code></li>
<li><a href="ca41bdd563"><code>ca41bdd</code></a> Update ui test suite to nightly-2022-11-16</li>
<li><a href="4f194c9141"><code>4f194c9</code></a> Resolve needless_borrow pedantic clippy lint in test</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.87...v1.0.88">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.87&new-version=1.0.88)](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.
--->
Not sure if anyone else may be working on something more substantial/in-depth, but I thought I'd post this. 😄
The basic rundown is that this is more of an untested (and in some ways naïve) draft than anything else. It builds rather heavily on `rust-gc`, and tries to keep plenty of the core aspects so as to not break anything too much, and also to minimize overarching changes were it to actually be merged at some point.
This implementation does add ~~a generational divide (although a little unoptimized) to the heap,~~ a GcAlloc/Collector struct with methods, and an ephemeron implementation that allows for the WeakPair and WeakGc pointers.
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.22 to 0.4.23.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/chronotope/chrono/releases">chrono's releases</a>.</em></p>
<blockquote>
<p>0.4.23 is the next 0.4 release of the popular chrono date and time library for Rust. After the 0.4.20-0.4.22 series that brought chrono back to life after a long hiatus, development has been fairly quiet, allowing us to start planning changes for the 0.5.0 release. As such, we've started deprecating some APIs that are likely to be removed in 0.5. If you have any feedback on these changes, please let us know in the issue tracker!</p>
<h3>Deprecations</h3>
<ul>
<li>Deprecate methods that have an <code>_opt()</code> alternative (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/827">#827</a>)</li>
<li>Deprecate usage of the <code>Date<Tz></code> type (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/851">#851</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>Optimize RFC 3339 (and RFC 2822) encoding (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/844">#844</a>, thanks to <a href="https://github.com/conradludgate"><code>@conradludgate</code></a>)</li>
<li>Addition and subtraction with the <code>Days</code> type (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/784">#784</a>)</li>
<li>Add <code>NaiveDateTime::from_timestamp_millis(_opt)</code> (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/818">#818</a>, thanks to <a href="https://github.com/Pscheidl"><code>@Pscheidl</code></a> -- backported in <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/823">#823</a>)</li>
<li>Allow for changing TZ variable and cache it for <code>Local</code> timezone (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/853">#853</a>)</li>
<li>Add optional support for the <code>arbitrary::Arbitrary</code> trait (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/849">#849</a>, thanks to <a href="https://github.com/greyblake"><code>@greyblake</code></a> and <a href="https://github.com/asayers"><code>@asayers</code></a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Support tzdb location on AIX (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/826">#826</a>)</li>
<li>Fix warnings in documentation (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/847">#847</a>)</li>
</ul>
<p>On behalf of <a href="https://github.com/esheppa"><code>@esheppa</code></a> and <a href="https://github.com/djc"><code>@djc</code></a>, thanks to all contributors!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9e5eb49838"><code>9e5eb49</code></a> Bump version to 0.4.23</li>
<li><a href="dc4287a627"><code>dc4287a</code></a> store hash of environment variable</li>
<li><a href="57908e918b"><code>57908e9</code></a> allow sharing of the allocated environment variable</li>
<li><a href="84f3c30d1e"><code>84f3c30</code></a> move last_changed to the Cache</li>
<li><a href="8bc413936f"><code>8bc4139</code></a> add bench for Local::now()</li>
<li><a href="22b4d32498"><code>22b4d32</code></a> Avoid use of deprecated API</li>
<li><a href="77317d5255"><code>77317d5</code></a> Deprecate usage of the Date<Tz> type</li>
<li><a href="7ba090d484"><code>7ba090d</code></a> Add TimeZone::with_ymd_and_hms() helper method</li>
<li><a href="03165c8658"><code>03165c8</code></a> Move Date::years_since() implementation into NaiveDate</li>
<li><a href="645fca0c55"><code>645fca0</code></a> chore: apply clippy suggestions for 1.65</li>
<li>Additional commits viewable in <a href="https://github.com/chronotope/chrono/compare/v0.4.22...v0.4.23">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chrono&package-manager=cargo&previous-version=0.4.22&new-version=0.4.23)](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 [sys-locale](https://github.com/1Password/sys-locale) from 0.2.1 to 0.2.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/1Password/sys-locale/releases">sys-locale's releases</a>.</em></p>
<blockquote>
<h2>v0.2.3</h2>
<p>See <a href="https://github.com/1Password/sys-locale/blob/main/CHANGELOG.md#023---2022-11-06">the changelog</a> for details.</p>
<h2>v0.2.2</h2>
<p>See <a href="https://github.com/1Password/sys-locale/blob/main/CHANGELOG.md#022---2022-11-06">the changelog</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/1Password/sys-locale/blob/main/CHANGELOG.md">sys-locale's changelog</a>.</em></p>
<blockquote>
<h2>[0.2.3] - 2022-11-06</h2>
<h3>Fixed</h3>
<ul>
<li>Re-release 0.2.2 and correctly maintain <code>no_std</code> compatibility on Apple targets.</li>
</ul>
<h2>[0.2.2] - 2022-11-06</h2>
<h3>Changed</h3>
<ul>
<li>The Apple backend has been rewritten in pure Rust instead of Objective-C.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>The locale returned on UNIX systems is now always a correctly formatted BCP-47 tag.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="21a5596bb6"><code>21a5596</code></a> Release 0.2.3</li>
<li><a href="6717e5662a"><code>6717e56</code></a> Use manual CoreFoundation bindings instead of core-foundation-sys</li>
<li><a href="f4dee466cf"><code>f4dee46</code></a> Release 0.2.2</li>
<li><a href="db4471ebff"><code>db4471e</code></a> Convert CHANGELOG.md to LF line endings</li>
<li><a href="a35c485c10"><code>a35c485</code></a> Update CHANGELOG</li>
<li><a href="ad29e24f7b"><code>ad29e24</code></a> Rewrite Apple locale fetching in pure Rust</li>
<li><a href="e76d9c55d1"><code>e76d9c5</code></a> Improve locale fetching tests</li>
<li><a href="29f4f2582b"><code>29f4f25</code></a> Fix implementation for Linux</li>
<li><a href="7c58f80849"><code>7c58f80</code></a> Fix cross-compiling CI</li>
<li>See full diff in <a href="https://github.com/1Password/sys-locale/compare/v0.2.1...v0.2.3">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sys-locale&package-manager=cargo&previous-version=0.2.1&new-version=0.2.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 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 should hopefully improve our compilation times, both from a clean build and from an incremental compilation snapshot.
Next would be the parser, but it imports `Context`, so it'll require a bit more work.
The number of file changes is obviously big, but almost nothing was changed, I just moved everything to another crate and readjusted the imports of the `parser` module. (Though, I did have to change some details, because there were some functions on the ast that returned `ParseError`s, and the tests had to be moved to the parser)
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>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.86 to 1.0.87.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.87</h2>
<ul>
<li>Add <code>write_i128</code> and <code>write_u128</code> methods to <code>serde_json::Formatter</code> to control the formatting of 128-bit integers (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/940">#940</a>, thanks <a href="https://github.com/Lucretiel"><code>@Lucretiel</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="993e7a6eea"><code>993e7a6</code></a> Release 1.0.87</li>
<li><a href="31070349af"><code>3107034</code></a> Eliminate needless 'tri!' from Serializer impl</li>
<li><a href="46c9778ce1"><code>46c9778</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/942">#942</a> from serde-rs/integer128</li>
<li><a href="37e76e0f85"><code>37e76e0</code></a> Assume serde_if_integer128 is true</li>
<li><a href="ec0456ad7b"><code>ec0456a</code></a> Use existing macros to implement 128-bit From impls</li>
<li><a href="c183125e04"><code>c183125</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/941">#941</a> from serde-rs/alloc</li>
<li><a href="ab0f884fb6"><code>ab0f884</code></a> Delete 1.36+ caveat from descriptions of alloc feature</li>
<li><a href="486598bbef"><code>486598b</code></a> Merge pull request 940 from Lucretiel/int128</li>
<li><a href="84d6d95e01"><code>84d6d95</code></a> Add direct support for i128 and u128 via itoa</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.86...v1.0.87">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.86&new-version=1.0.87)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
This is an experiment that tries to migrate the codebase from eager `Error` objects to lazy ones.
In short words, this redefines `JsResult = Result<JsValue, JsError>`, where `JsError` is a brand new type that stores only the essential part of an error type, and only transforms those errors to `JsObject`s on demand (when having to pass them as arguments to functions or store them inside async/generators).
This change is pretty big, because it unblocks a LOT of code from having to take a `&mut Context` on each call. It also paves the road for possibly making `JsError` a proper variant of `JsValue`, which can be a pretty big optimization for try/catch.
A downside of this is that it exposes some brand new error types to our public API. However, we can now implement `Error` on `JsError`, making our `JsResult` type a bit more inline with Rust's best practices.
~Will mark this as draft, since it's missing some documentation and a lot of examples, but~ it's pretty much feature complete. As always, any comments about the design are very much appreciated!
Note: Since there are a lot of changes which are essentially just rewriting `context.throw` to `JsNativeError::%type%`, I'll leave an "index" of the most important changes here:
- [boa_engine/src/error.rs](https://github.com/boa-dev/boa/pull/2283/files#diff-f15f2715655440626eefda5c46193d29856f4949ad37380c129a8debc6b82f26)
- [boa_engine/src/builtins/error/mod.rs](https://github.com/boa-dev/boa/pull/2283/files#diff-3eb1e4b4b5c7210eb98192a5277f5a239148423c6b970c4ae05d1b267f8f1084)
- [boa_tester/src/exec/mod.rs](https://github.com/boa-dev/boa/pull/2283/files#diff-fc3d7ad7b5e64574258c9febbe56171f3309b74e0c8da35238a76002f3ee34d9)
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 Pull Request overrides #2288.
It changes the following:
- Updates dependencies to use Unicode 15
- Updates the boa_unicode crate to use Unicode 15
It's still waiting on the unicode-general-category 0.6 release, which was tagged 3 days ago: 15e7e3182f
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.14.0 to 1.15.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/matklad/once_cell/blob/master/CHANGELOG.md">once_cell's changelog</a>.</em></p>
<blockquote>
<h2>1.15.0</h2>
<ul>
<li>Increase minimal supported Rust version to 1.56.0.</li>
<li>Implement <code>UnwindSafe</code> even if the <code>std</code> feature is disabled.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="97edd07e0a"><code>97edd07</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/200">#200</a></li>
<li><a href="f5264bbaf1"><code>f5264bb</code></a> release 1.15.0</li>
<li><a href="a0aeb9b378"><code>a0aeb9b</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/199">#199</a></li>
<li><a href="1d8a90d231"><code>1d8a90d</code></a> fix token name</li>
<li><a href="5ca60af311"><code>5ca60af</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/198">#198</a></li>
<li><a href="99c67b7906"><code>99c67b7</code></a> 1.15.0</li>
<li><a href="b68bee9c56"><code>b68bee9</code></a> edition 2021</li>
<li><a href="8e47e43a49"><code>8e47e43</code></a> always implement unwind safe</li>
<li><a href="8ec240e9db"><code>8ec240e</code></a> MSRV is 1.56</li>
<li><a href="2487d34593"><code>2487d34</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/197">#197</a></li>
<li>Additional commits viewable in <a href="https://github.com/matklad/once_cell/compare/v1.14.0...v1.15.0">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=once_cell&package-manager=cargo&previous-version=1.14.0&new-version=1.15.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md">criterion's changelog</a>.</em></p>
<blockquote>
<h2>[0.4.0] - 2022-09-10</h2>
<h3>Removed</h3>
<ul>
<li>The <code>Criterion::can_plot</code> function has been removed.</li>
<li>The <code>Criterion::bench_function_over_inputs</code> function has been removed.</li>
<li>The <code>Criterion::bench_functions</code> function has been removed.</li>
<li>The <code>Criterion::bench</code> function has been removed.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>HTML report hidden behind non-default feature flag: 'html_reports'</li>
<li>Standalone support (ie without cargo-criterion) feature flag: 'cargo_bench_support'</li>
<li>MSRV bumped to 1.57</li>
<li><code>rayon</code> and <code>plotters</code> are optional (and default) dependencies.</li>
<li>Status messages ('warming up', 'analyzing', etc) are printed to stderr, benchmark results are printed to stdout.</li>
<li>Accept subsecond durations for <code>--warm-up-time</code>, <code>--measurement-time</code> and <code>--profile-time</code>.</li>
<li>Replaced serde_cbor with ciborium because the former is no longer maintained.</li>
<li>Upgrade clap to v3 and regex to v1.5.</li>
</ul>
<h3>Added</h3>
<ul>
<li>A <code>--discard-baseline</code> flag for discarding rather than saving benchmark results.</li>
<li>Formal support for benchmarking code compiled to web-assembly.</li>
<li>A <code>--quiet</code> flag for printing just a single line per benchmark.</li>
<li>A <code>Throughput::BytesDecimal</code> option for measuring throughput in bytes but printing them using
decimal units like kilobytes instead of binary units like kibibytes.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>When using <code>bench_with_input</code>, the input parameter will now be passed through <code>black_box</code> before
passing it to the benchmark.</li>
</ul>
<h2>[0.3.6] - 2022-07-06</h2>
<h3>Changed</h3>
<ul>
<li>MSRV bumped to 1.49</li>
<li>Symbol for microseconds changed from ASCII 'us' to unicode 'µs'</li>
<li>Documentation fixes</li>
<li>Clippy fixes</li>
</ul>
<h2>[0.3.5] - 2021-07-26</h2>
<h3>Fixed</h3>
<ul>
<li>Corrected <code>Criterion.toml</code> in the book.</li>
<li>Corrected configuration typo in the book.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Bump plotters dependency to always include a bug-fix.</li>
<li>MSRV bumped to 1.46.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5e27b692a4"><code>5e27b69</code></a> Merge branch 'version-0.4'</li>
<li><a href="4d6d69a9f5"><code>4d6d69a</code></a> Increment version numbers.</li>
<li><a href="935c6327e1"><code>935c632</code></a> Add Throughput::BytesDecimal. Fixes <a href="https://github-redirect.dependabot.com/bheisler/criterion.rs/issues/581">#581</a>.</li>
<li><a href="f82ce59d71"><code>f82ce59</code></a> Remove critcmp code (it belongs in cargo-criterion) (<a href="https://github-redirect.dependabot.com/bheisler/criterion.rs/issues/610">#610</a>)</li>
<li><a href="a18d0800a9"><code>a18d080</code></a> Merge branch 'master' into version-0.4</li>
<li><a href="f9c6b8d1c0"><code>f9c6b8d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/bheisler/criterion.rs/issues/608">#608</a> from Cryptex-github/patch-1</li>
<li><a href="8d0224e9f1"><code>8d0224e</code></a> Fix html report path</li>
<li><a href="2934163518"><code>2934163</code></a> Add missing black_box for bench_with_input parameters. Fixes 566.</li>
<li><a href="dfd7b6532b"><code>dfd7b65</code></a> Add duplicated benchmark ID to assertion message.</li>
<li><a href="ce8259e69f"><code>ce8259e</code></a> Bump criterion-plot version number.</li>
<li>Additional commits viewable in <a href="https://github.com/bheisler/criterion.rs/compare/0.3.5...0.4.0">compare view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.13.1 to 1.14.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.14.0</h2>
<ul>
<li>Add extension to <code>unsync</code> and <code>sync</code> <code>Lazy</code> mut API:
<ul>
<li><code>force_mut</code></li>
<li><code>get_mut</code></li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="df34da608a"><code>df34da6</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/193">#193</a></li>
<li><a href="ceff838c1a"><code>ceff838</code></a> Update CHANGELOG.md</li>
<li><a href="02f8b9f847"><code>02f8b9f</code></a> Fix unnecesary mut</li>
<li><a href="cca53a4887"><code>cca53a4</code></a> Use force_mut return mut ref in test</li>
<li><a href="d3e28a5da7"><code>d3e28a5</code></a> Formatting tests missing line</li>
<li><a href="a9fb2d33ff"><code>a9fb2d3</code></a> Remove changelog oncecell notes</li>
<li><a href="8f6ca60a63"><code>8f6ca60</code></a> Remove oncecell mut extensions tests</li>
<li><a href="180305a608"><code>180305a</code></a> Remove oncecell mut extensions</li>
<li><a href="8b191996f4"><code>8b19199</code></a> Remove get_mut_unchecked</li>
<li><a href="2ff6d0e916"><code>2ff6d0e</code></a> Fix get_mut_unchecked, used get instead of get_mut</li>
<li>Additional commits viewable in <a href="https://github.com/matklad/once_cell/compare/v1.13.1...v1.14.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.13.1&new-version=1.14.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_json](https://github.com/serde-rs/json) from 1.0.83 to 1.0.85.
<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.85</h2>
<ul>
<li>Make <code>Display</code> for <code>Number</code> produce the same representation as serializing (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/919">#919</a>)</li>
</ul>
<h2>v1.0.84</h2>
<ul>
<li>Make <code>Debug</code> impl of <code>serde_json::Value</code> more compact (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/918">#918</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="44d9c53e25"><code>44d9c53</code></a> Release 1.0.85</li>
<li><a href="2c8e2b08af"><code>2c8e2b0</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/919">#919</a> from serde-rs/displaynum</li>
<li><a href="cb2515ba44"><code>cb2515b</code></a> Make Display for Number produce the same representation as serializing</li>
<li><a href="8ba854166d"><code>8ba8541</code></a> Preserve '.0' when Displaying Number</li>
<li><a href="de251c8198"><code>de251c8</code></a> Add test of Display for Number containing float</li>
<li><a href="6b8b07365e"><code>6b8b073</code></a> Release 1.0.84</li>
<li><a href="9e9b2b72fb"><code>9e9b2b7</code></a> Revert "Avoid cargo 1.45–1.50 in GitHub Actions"</li>
<li><a href="a685113765"><code>a685113</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/918">#918</a> from serde-rs/debug</li>
<li><a href="dd6a86db07"><code>dd6a86d</code></a> Reduce unneeded parens and newlines in Debug for Value</li>
<li><a href="de62e3e406"><code>de62e3e</code></a> Make Debug test compatible with preserve_order</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.83...v1.0.85">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.83&new-version=1.0.85)](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.143 to 1.0.144.
<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.144</h2>
<ul>
<li>Change atomic ordering used by Serialize impl of atomic types to match ordering used by Debug impl of those same types (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2263">#2263</a>, thanks <a href="https://github.com/taiki-e"><code>@taiki-e</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f52d134c14"><code>f52d134</code></a> Release 1.0.144</li>
<li><a href="6660676b0d"><code>6660676</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2263">#2263</a> from taiki-e/ordering</li>
<li><a href="1d42d3571a"><code>1d42d35</code></a> Relax orderings of Serialize impl for atomic types to match the latest stable</li>
<li><a href="ebd06eebdb"><code>ebd06ee</code></a> Link to apache-avro crate's published docs</li>
<li><a href="f1985823a3"><code>f198582</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2258">#2258</a> from Mottl/patch-1</li>
<li><a href="60e4092b8e"><code>60e4092</code></a> Fixes link to Apache Avro in documentation</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.143...v1.0.144">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.143&new-version=1.0.144)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.13.0 to 1.13.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.13.1</h2>
<ul>
<li>Make implementation compliant with <a href="https://github-redirect.dependabot.com/rust-lang/rust/issues/95228">strict provenance</a>.</li>
<li>Upgrade <code>atomic-polyfill</code> to <code>1.0</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="865ab57433"><code>865ab57</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/191">#191</a></li>
<li><a href="d997723823"><code>d997723</code></a> simplify strict-provenance polyfill</li>
<li><a href="f4645cb94d"><code>f4645cb</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/190">#190</a></li>
<li><a href="08b6dc1adf"><code>08b6dc1</code></a> Merge <a href="https://github-redirect.dependabot.com/matklad/once_cell/issues/185">#185</a></li>
<li><a href="be1010353b"><code>be10103</code></a> bump atomic-polyfill from 0.1 to 1</li>
<li><a href="65dd45579c"><code>65dd455</code></a> correct minor typo</li>
<li><a href="dd413a9bb6"><code>dd413a9</code></a> Paste in enough of sptr to have a ptr.map_addr</li>
<li><a href="ed7a1b7623"><code>ed7a1b7</code></a> Keep provenance intact by avoiding ptr-int-ptr</li>
<li>See full diff in <a href="https://github.com/matklad/once_cell/compare/v1.13.0...v1.13.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.13.0&new-version=1.13.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.21 to 0.4.22.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/chronotope/chrono/releases">chrono's releases</a>.</em></p>
<blockquote>
<h2>0.4.22</h2>
<p>Unfortunately the introduction of the iana-time-zone dependency in 0.4.21 caused some new regressions with lesser known platforms. This release fixes all of the issues we've encountered, improving the situation on some WebAssembly targets, SGX and on macOS/iOS. We've improved our CI setup to hopefully catch more of these issues before release in the future.</p>
<ul>
<li>Make wasm-bindgen optional on <code>wasm32-unknown-unknown</code> target (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/771">#771</a>)</li>
<li>Avoid iana-time-zone dependency on <code>x86_64-fortanix-unknown-sgx</code> (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/767">#767</a>, thanks to <a href="https://github.com/trevor-crypto"><code>@trevor-crypto</code></a>)</li>
<li>Update <code>iana-time-zone</code> version to 0.1.44 to avoid cyclic dependencies (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/773">#773</a>, thanks to <a href="https://github.com/Kijewski"><code>@Kijewski</code></a> for the upstream PRs)</li>
<li>Clarify documentation about year range in formatting/parsing (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/765">#765</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/chronotope/chrono/blob/main/CHANGELOG.md">chrono's changelog</a>.</em></p>
<blockquote>
<h2>0.4.22</h2>
<ul>
<li>Allow wasmbindgen to be optional on <code>wasm32-unknown-unknown</code> target [(<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/771">#771</a>)](<a href="https://github-redirect.dependabot.com/chronotope/chrono/pull/771">chronotope/chrono#771</a>)</li>
<li>Fix compile error for <code>x86_64-fortanix-unknown-sgx</code> [(<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/767">#767</a>)](<a href="https://github-redirect.dependabot.com/chronotope/chrono/pull/767">chronotope/chrono#767</a>)</li>
<li>Update <code>iana-time-zone</code> version to 1.44 [(<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/773">#773</a>)](<a href="https://github-redirect.dependabot.com/chronotope/chrono/pull/773">chronotope/chrono#773</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="45142764ab"><code>4514276</code></a> update changelog</li>
<li><a href="db8bde3acf"><code>db8bde3</code></a> Apply clippy suggestions</li>
<li><a href="f6b575ceee"><code>f6b575c</code></a> Bump version number to 0.4.22</li>
<li><a href="af69b903f6"><code>af69b90</code></a> Require iana-time-zone 0.1.44</li>
<li><a href="84f98e01c7"><code>84f98e0</code></a> set fallback feature in iana-time-zone depedency</li>
<li><a href="511d368990"><code>511d368</code></a> Add sgx build to CI</li>
<li><a href="bee614a305"><code>bee614a</code></a> Do not include iana-time-zone for sgx</li>
<li><a href="fe4bd220d2"><code>fe4bd22</code></a> allow optional wasmbindgen</li>
<li><a href="95223ee267"><code>95223ee</code></a> format: be specific about support year range</li>
<li>See full diff in <a href="https://github.com/chronotope/chrono/compare/v0.4.21...v0.4.22">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chrono&package-manager=cargo&previous-version=0.4.21&new-version=0.4.22)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.20 to 0.4.21.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/chronotope/chrono/releases">chrono's releases</a>.</em></p>
<blockquote>
<p>0.4.21 is a bugfix release that mainly fixes one regression from 0.4.20:</p>
<ul>
<li>Fall back to UTC in case no timezone is found. Unfortunately this is a regression from the changes we made in 0.4.20 where we now parse the timezone database ourselves. Before 0.4.20, <code>TimeZone::now()</code> fell back to UTC in the case it could not find the current timezone, but the new implementation panicked in that case.</li>
<li>Correctly detect timezone on Android (also <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/756">#756</a>). Android does have the timezone database installed, but it's in a different path, and it does not use <code>/etc/localtime</code> to keep track of the current timezone. Instead we now use the iana-time-zone crate as a dependency, since it already has quite a bit of logic for finding the current timezone on a host of platforms.</li>
</ul>
<p>Additionally, there is a documentation fix that reverts an incorrect guarantee:</p>
<ul>
<li>Document that <code>%Y</code> can have a negative value, both in formatting and in parsing (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/760">#760</a>, thanks to <a href="https://github.com/alex"><code>@alex</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/chronotope/chrono/blob/main/CHANGELOG.md">chrono's changelog</a>.</em></p>
<blockquote>
<h1>ChangeLog for Chrono</h1>
<p>This documents all notable changes to <a href="https://github.com/chronotope/chrono">Chrono</a>.</p>
<p>Chrono obeys the principle of <a href="http://semver.org/">Semantic Versioning</a>, with one caveat: we may
move previously-existing code behind a feature gate and put it behind a new feature. This new
feature will always be placed in the <code>previously-default</code> feature, which you can use to prevent
breakage if you use <code>no-default-features</code>.</p>
<p>There were/are numerous minor versions before 1.0 due to the language changes.
Versions with only mechanical changes will be omitted from the following list.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2d22e57b46"><code>2d22e57</code></a> Bump version number to 0.4.21</li>
<li><a href="557bcd5f44"><code>557bcd5</code></a> handle missing /etc/localtime on some unix platforms (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/756">#756</a>)</li>
<li><a href="5edf4d0cc7"><code>5edf4d0</code></a> fixes <a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/758">#758</a> -- correctly document that %Y parses negative years (<a href="https://github-redirect.dependabot.com/chronotope/chrono/issues/760">#760</a>)</li>
<li><a href="a185d3bdfa"><code>a185d3b</code></a> Remove unnecessary try_opt!() macro</li>
<li>See full diff in <a href="https://github.com/chronotope/chrono/compare/v0.4.20...v0.4.21">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chrono&package-manager=cargo&previous-version=0.4.20&new-version=0.4.21)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.142 to 1.0.143.
<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.143</h2>
<ul>
<li>Invert build.rs cfgs in serde_test to produce the most modern configuration in the default case (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2253">#2253</a>, thanks <a href="https://github.com/taiki-e"><code>@taiki-e</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3d0251666e"><code>3d02516</code></a> Release 1.0.143</li>
<li><a href="7770da4929"><code>7770da4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2253">#2253</a> from taiki-e/test-cfg</li>
<li><a href="a5fd85a9ef"><code>a5fd85a</code></a> Invert build.rs cfgs in serde_test</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.142...v1.0.143">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.142&new-version=1.0.143)](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.141 to 1.0.142.
<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.142</h2>
<ul>
<li>Add keywords to crates.io metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="abb2a8494d"><code>abb2a84</code></a> Release 1.0.142</li>
<li><a href="a31d0be191"><code>a31d0be</code></a> Update keywords in crates.io metadata</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.141...v1.0.142">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.141&new-version=1.0.142)](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 [dyn-clone](https://github.com/dtolnay/dyn-clone) from 1.0.8 to 1.0.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/dyn-clone/releases">dyn-clone's releases</a>.</em></p>
<blockquote>
<h2>1.0.9</h2>
<ul>
<li>Add categories and keywords to crates.io metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="47f37e5e00"><code>47f37e5</code></a> Release 1.0.9</li>
<li><a href="3acfd3530a"><code>3acfd35</code></a> Update keywords in crates.io metadata</li>
<li><a href="924cbfbde2"><code>924cbfb</code></a> Add categories to crates.io metadata</li>
<li><a href="723f23da46"><code>723f23d</code></a> Sort package entries in Cargo.toml</li>
<li><a href="625bf5a1d5"><code>625bf5a</code></a> Avoid cargo 1.43–1.45 in GitHub Actions</li>
<li><a href="2481960d1d"><code>2481960</code></a> Update ui test suite to nightly-2022-07-20</li>
<li>See full diff in <a href="https://github.com/dtolnay/dyn-clone/compare/1.0.8...1.0.9">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dyn-clone&package-manager=cargo&previous-version=1.0.8&new-version=1.0.9)](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.82 to 1.0.83.
<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.83</h2>
<ul>
<li>Add categories to crates.io metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2b0403f5cd"><code>2b0403f</code></a> Release 1.0.83</li>
<li><a href="db96d72c3f"><code>db96d72</code></a> Add categories to crates.io metadata</li>
<li><a href="25129334eb"><code>2512933</code></a> Add authors to Cargo.toml</li>
<li><a href="22da79711a"><code>22da797</code></a> Sort package entries in Cargo.toml</li>
<li><a href="01ef46e363"><code>01ef46e</code></a> Ignore assertions_on_result_states clippy lint</li>
<li><a href="aac479a70a"><code>aac479a</code></a> Avoid cargo 1.43–1.45 in GitHub Actions</li>
<li><a href="1a433816f6"><code>1a43381</code></a> Convert i/u128 conversion to itoa instead of std::fmt</li>
<li><a href="84c157b41d"><code>84c157b</code></a> Directly install aarch64-unknown-none target support</li>
<li><a href="d1cbbb634a"><code>d1cbbb6</code></a> Update ui test suite to nightly-2022-07-20</li>
<li><a href="5b441a2881"><code>5b441a2</code></a> Ignore explicit_auto_deref clippy lint</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.82...v1.0.83">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.82&new-version=1.0.83)](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.140 to 1.0.141.
<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.141</h2>
<ul>
<li>Add <code>no-std</code> category to crates.io metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d786e750d7"><code>d786e75</code></a> Release 1.0.141</li>
<li><a href="10e4839f83"><code>10e4839</code></a> Move Postcard link up to Bincode spot</li>
<li><a href="85e72653c8"><code>85e7265</code></a> Add categories to crates.io metadata</li>
<li><a href="c9cc8a8924"><code>c9cc8a8</code></a> Add authors to Cargo.toml</li>
<li><a href="a925ce4119"><code>a925ce4</code></a> Sort package entries in Cargo.toml</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.140...v1.0.141">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.140&new-version=1.0.141)](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.139 to 1.0.140.
<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.140</h2>
<ul>
<li>Invert serde_derive cfgs to convenience non-Cargo builds on a modern toolchain (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2251">#2251</a>, thanks <a href="https://github.com/taiki-e"><code>@taiki-e</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c5f6338ce2"><code>c5f6338</code></a> Release 1.0.140</li>
<li><a href="5185487d73"><code>5185487</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2251">#2251</a> from taiki-e/derive-cfg</li>
<li><a href="efaafd4458"><code>efaafd4</code></a> Invert build.rs cfgs in serde_derive</li>
<li><a href="a0eb83a5d4"><code>a0eb83a</code></a> Resolve invalid_utf8_in_unchecked clippy lint in ancient test code</li>
<li><a href="7cc6f7fbb0"><code>7cc6f7f</code></a> Ignore new_without_default clippy lint</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.139...v1.0.140">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.139&new-version=1.0.140)](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 [dyn-clone](https://github.com/dtolnay/dyn-clone) from 1.0.7 to 1.0.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/dyn-clone/releases">dyn-clone's releases</a>.</em></p>
<blockquote>
<h2>1.0.8</h2>
<ul>
<li>Add functions that do <code>Arc::make_mut</code> and <code>Rc::make_mut</code> but work with element type <code>dyn Trait</code> (<a href="https://github-redirect.dependabot.com/dtolnay/dyn-clone/issues/21">#21</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c7bead2719"><code>c7bead2</code></a> Release 1.0.8</li>
<li><a href="42235f6628"><code>42235f6</code></a> Show function signatures in crate root's list of functions</li>
<li><a href="1bc8a4006a"><code>1bc8a40</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/dyn-clone/issues/21">#21</a> from dtolnay/makemut</li>
<li><a href="221c440e0e"><code>221c440</code></a> Add make_mut functions for Rc and Arc</li>
<li><a href="1f3f7798b2"><code>1f3f779</code></a> Revert ptr_as_ptr fix in favor of ignoring lint</li>
<li><a href="5b66233d56"><code>5b66233</code></a> Resolve ptr_as_ptr pedantic clippy lint</li>
<li><a href="71acc1a6f1"><code>71acc1a</code></a> Raise required toolchain to rust 1.45</li>
<li><a href="a882046291"><code>a882046</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/dyn-clone/issues/20">#20</a> from dtolnay/doc</li>
<li><a href="4c8a630d68"><code>4c8a630</code></a> Document what clone_trait_object expands to</li>
<li>See full diff in <a href="https://github.com/dtolnay/dyn-clone/compare/1.0.7...1.0.8">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dyn-clone&package-manager=cargo&previous-version=1.0.7&new-version=1.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>