Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

core/any: remove Provider trait, rename Demand to Request #113464

Merged
merged 1 commit into from Aug 14, 2023

Conversation

waynr
Copy link
Contributor

@waynr waynr commented Jul 7, 2023

This touches on two WIP features:

The changes in this PR are intended to address libs meeting feedback summarized by @Amanieu in #96024 (comment)

The specific items this PR addresses so far are:

We feel that the names "demand" and "request" are somewhat synonymous and would like only one of those to be used for better consistency.

I went with Request here since it sounds nicer, but I'm mildly concerned that at first glance it could be confused with the use of the word in networking context.

The Provider trait should be deleted and its functionality should be merged into Error. We are happy to only provide an API that is only usable with Error. If there is demand for other uses then this can be provided through an external crate.

The net impact this PR has is that examples which previously looked like

    core::any::request_ref::<String>(&err).unwramp()

now look like

    (&err as &dyn core::error::Error).request_value::<String>().unwrap()

These are methods that based on the type hint when called return an Option<T> of that type. I'll admit I don't fully understand how that's done, but it involves core::any::tags::Type and core::any::TaggedOption, neither of which are exposed in the public API, to construct a Request which is then passed to the Error.provide method.

Something that I'm curious about is whether or not they are essential to the use of Request types (prior to this PR referred to as Demand) and if so does the fact that they are kept private imply that Requests are only meant to be constructed privately within the standard library? That's what it looks like to me.

These methods ultimately call into code that looks like:

/// Request a specific value by tag from the `Error`.
fn request_by_type_tag<'a, I>(err: &'a (impl Error + ?Sized)) -> Option<I::Reified>
where
    I: tags::Type<'a>,
{
    let mut tagged = core::any::TaggedOption::<'a, I>(None);
    err.provide(tagged.as_request());
    tagged.0
}

As far as the Request API is concerned, one suggestion I would like to make is that the previous example should look more like this:

/// Request a specific value by tag from the `Error`.
fn request_by_type_tag<'a, I>(err: &'a (impl Error + ?Sized)) -> Option<I::Reified>
where
    I: tags::Type<'a>,
{
    let tagged_request = core::any::Request<I>::new_tagged();
    err.provide(tagged_request);
    tagged.0
}

This makes it possible for anyone to construct a Request for use in their own projects without exposing an implementation detail like TaggedOption in the API surface.

Otherwise noteworthy is that I had to add pub(crate) on both core::any::TaggedOption and core::any::tags since Requests now need to be constructed in the core::error module. I considered moving TaggedOption into the core::error module but again I figured it's an implementation detail of Request and belongs closer to that.

At the time I am opening this PR, I have not yet looked into the following bit of feedback:

We took a look at the generated code and found that LLVM is unable to optimize multiple .provide_* calls into a switch table because each call fetches the type id from Erased::type_id separately each time and the compiler doesn't know that these calls all return the same value. This should be fixed.

This is what I'll focus on next while waiting for feedback on the progress so far. I suspect that learning more about the type IDs will help me understand the need for TaggedOption a little better.

@rustbot
Copy link
Collaborator

rustbot commented Jul 7, 2023

r? @cuviper

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jul 7, 2023
@rust-log-analyzer

This comment has been minimized.

@waynr
Copy link
Contributor Author

waynr commented Jul 7, 2023

One problem I'm currently running into when attempting to reproduce the failed test by running x doc is that there are rust tools (rustfmt and rust-analyzer that depend on thiserror which in turn actually depends on the unstable features my PR deals with):

Building compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
   Compiling cfg-if v1.0.0
   Compiling stable_deref_trait v1.2.0
   Compiling once_cell v1.18.0
   Compiling smallvec v1.10.0
   Compiling scopeguard v1.1.0
   Compiling log v0.4.19
   Compiling pin-project-lite v0.2.10
   Compiling libc v0.2.147
   Compiling memchr v2.5.0
   Compiling rustc-hash v1.1.0
   Compiling bitflags v1.3.2
   Compiling typenum v1.16.0
   Compiling zerofrom v0.1.2
   Compiling equivalent v1.0.0
   Compiling hashbrown v0.14.0
   Compiling thin-vec v0.2.12
   Compiling instant v0.1.12
   Compiling lock_api v0.4.10
   Compiling linux-raw-sys v0.3.8
   Compiling psm v0.1.21
   Compiling fastrand v1.9.0
   Compiling arrayvec v0.7.4
   Compiling either v1.8.1
   Compiling elsa v1.7.1
   Compiling yoke v0.7.1
   Compiling rustc_graphviz v0.0.0 (/home/wayne/projects/rust-lang/rust/compiler/rustc_graphviz)
   Compiling tracing-core v0.1.30
   Compiling itertools v0.10.5
   Compiling rustc_arena v0.0.0 (/home/wayne/projects/rust-lang/rust/compiler/rustc_arena)
   Compiling ena v0.14.2
   Compiling ppv-lite86 v0.2.17
   Compiling thiserror v1.0.40
   Compiling zerovec v0.9.4
error[E0432]: unresolved imports `std::any::Demand`, `std::any::Provider`
 --> /home/wayne/.cargo/registry/src/index.crates.io-6f17d22bba15001f/thiserror-1.0.40/src/provide.rs:1:16
  |
1 | use std::any::{Demand, Provider};
  |                ^^^^^^  ^^^^^^^^ no `Provider` in `any`
  |                |
  |                no `Demand` in `any`

For more information about this error, try `rustc --explain E0432`.
error: could not compile `thiserror` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
Build completed unsuccessfully in 0:01:39

Does this mean I'll have to update thiserror to reflect the new API changes and include updating that to a new version in this PR? I was already considering that since the behavior I want is to enable automatic backtrace capture by thiserror.

@cuviper
Copy link
Member

cuviper commented Jul 7, 2023

This is a big change that I don't have any context on, so I'm reassigning based on the prior feedback.

r? @Amanieu

@rustbot rustbot assigned Amanieu and unassigned cuviper Jul 7, 2023
@thomcc
Copy link
Member

thomcc commented Jul 8, 2023

Can you write up new API somewhere (or at least the changes)? It's hard to get the full picture from the diff.

@the8472
Copy link
Member

the8472 commented Jul 8, 2023

One problem I'm currently running into when attempting to reproduce the failed test by running x doc is that there are rust tools (rustfmt and rust-analyzer that depend on thiserror which in turn actually depends on the unstable features my PR deals with):

Are the nightly features of those crates critical or can we disable them?

@waynr
Copy link
Contributor Author

waynr commented Jul 8, 2023

@thomcc Okay here's what I understand of the full API changes for provide_any and error_generic_member_access prior to this PR:

  • new public trait core::any::Provider with one method, fn provide<'a>(&'a self, demand: &mut Demand<'a>)
  • new public type core::any::Demand with several methods related to checking for or retrieving values or references:
    • pub fn provide_value<T>(&mut self, value: T) -> &mut Self
    • pub fn provide_value_with<T>(&mut self, fulfil: impl FnOnce() -> T) -> &mut Self
    • pub fn provide_ref<T: ?Sized + 'static>(&mut self, value: &'a T) -> &mut Self
    • pub fn provide_ref_with<T: ?Sized + 'static>( &mut self, fulfil: impl FnOnce() -> &'a T,) -> &mut Self
    • pub fn would_be_satisfied_by_value_of<T>(&self) -> bool
    • pub fn would_be_satisfied_by_ref_of<T>(&self) -> bool
  • new functions for working with Provider and Demand:
    • pub fn request_value<'a, T>(provider: &'a (impl Provider + ?Sized)) -> Option<T>
    • pub fn request_ref<'a, T>(provider: &'a (impl Provider + ?Sized)) -> Option<&'a T>
  • new public method with default noop implementation for trait core::error::Error: fn provide<'a>(&'a self, demand: &mut Demand<'a>) {}
  • Provider implementation for dyn Error

Again, this is the state of the provide_any and error_generic_member_access prior to this PR. The changes this PR makes is:

  • remove the new public trait core::any::Provider
  • rename core::any::Demand tocore::any::Request
  • remove core::any::request_ref and core::any::request_value functions
    • but it adds analogous request_ref and request_value methods to <dyn Error>
      • this is necessary because the current Request API doesn't allow instances to be constructed; request_ref and request_value internally do the work of constructing the Request instance and returning an Option<T> where T is the type annotation provided when calling request_value or request_ref.
  • remove the impl Provider for <dyn Error> block, but leave the fn provide<'a>(&'a self, demand: &mut Demand<'a>) {} on the Error trait

Not an API change, but this does also enable error_in_core, error_generic_member_access in library/core/tests/lib.rs which if I understand correctly is necessary because tests in library/core/tests/any.rs now need to import core::error::Error for some of their test cases (since Error is the only type that makes use of the new Request type being tested).

Also worth noting is that I had to add trait_upcasting which I don't fully understand but I think is because of test cases that look like this:

@@ -188,18 +196,18 @@ fn test_provider_boxed() {
 fn test_provider_concrete() {
     let obj = SomeConcreteType { some_string: "hello".to_owned() };

-    assert_eq!(&**request_ref::<String>(&obj).unwrap(), "hello");
-    assert_eq!(&*request_value::<String>(&obj).unwrap(), "bye");
-    assert_eq!(request_value::<u8>(&obj), None);
+    assert_eq!(&**(&obj as &dyn std::error::Error).request_ref::<String>().unwrap(), "hello");
+    assert_eq!(&*(&obj as &dyn std::error::Error).request_value::<String>().unwrap(), "bye");
+    assert_eq!((&obj as &dyn std::error::Error).request_value::<u8>(), None);
 }

-trait OtherTrait: Provider {}
+trait OtherTrait: std::error::Error {}

 impl OtherTrait for SomeConcreteType {}

 impl dyn OtherTrait {
     fn get_ref<T: 'static + ?Sized>(&self) -> Option<&T> {
-        request_ref::<T>(self)
+        <dyn core::error::Error>::request_ref_from::<T>(self)
     }
 }

Where OtherTrait requires that any implementing types also implement the dependency trait, in this case trait OtherTrait: std::error::Error. What I don't understand is why that feature wasn't required to be enabled prior to this PR since something similar was going on with OtherTrait: Provider 🤔

@waynr
Copy link
Contributor Author

waynr commented Jul 8, 2023

@thomcc Okay here's what I understand of the full API changes for provide_any and error_generic_member_access prior to this PR

To be absolutely clear, when I say "prior to this PR" I mean that these are unstable features that someone else worked on which are already in master branch. I am coming to these features late in the game picking up where other people left off and attempting to help address feedback in the tracking issues for these features.

@waynr
Copy link
Contributor Author

waynr commented Jul 8, 2023

One problem I'm currently running into when attempting to reproduce the failed test by running x doc is that there are rust tools (rustfmt and rust-analyzer that depend on thiserror which in turn actually depends on the unstable features my PR deals with):

Are the nightly features of those crates critical or can we disable them?

By "those crates" are you referring to the rustfmt and rust-analyzer crates? If so, I'm not sure what I would need to do to disable provide_any or error_generic_member_access for either of them. I tried this:

$ git show stash
commit bd3326d2276a490e6b212e9816f998cc76ecb6dd
Merge: 0c981cdd9cf 45dd2c0a6aa
Author: wayne warren <wayne.warren.s@gmail.com>
Date:   Sat Jul 8 12:11:33 2023 -0600

    WIP on master: 0c981cdd9cf core/any: remove references to Provider, update tests

diff --cc src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
index 5b72d57560b,5b72d57560b..6a0643da4dc
--- a/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
+++ b/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
@@@ -51,7 -51,7 +51,7 @@@ always-assert = "0.1.2
  # These dependencies are unused, but we pin them to a version here to restrict them for our transitive dependencies
  # so that we don't pull in duplicates of their dependencies like windows-sys and syn 1 vs 2
  # these would pull in serde 2
--thiserror = "=1.0.39"
++thiserror = { version = "=1.0.39", features = [] }
  serde_repr = "=0.1.11"
  # these would pull in windows-sys 0.45.0
  mio = "=0.8.5"
diff --cc src/tools/rustfmt/Cargo.toml
index 8c312f47a28,8c312f47a28..a16accc33d7
--- a/src/tools/rustfmt/Cargo.toml
+++ b/src/tools/rustfmt/Cargo.toml
@@@ -50,7 -50,7 +50,7 @@@ regex = "1.5
  serde = { version = "1.0.160", features = ["derive"] }
  serde_json = "1.0"
  term = "0.7"
--thiserror = "1.0.40"
++thiserror = { version = "1.0.40", features = [] }
  toml = "0.7.4"
  unicode-segmentation = "1.9"
  unicode-width = "0.1"

But end up seeing the same error anyway when I run x doc. @the8472 where else might I look to disable them?

@waynr
Copy link
Contributor Author

waynr commented Jul 8, 2023

Are the nightly features of those crates critical or can we disable them?

So my vague understanding is that thiserror bases its usage of the provide_any features on the rust feature flag:

#![cfg_attr(provide_any, feature(provide_any))]

If I understand correctly, then provide_any is enabled on the rustfmt and rust-analyzer crates because when building using x doc they are built with nightly features of the standard library enabled and provide_any is considered a nightly feature (is that right?).

So to be clear I don't think that rustfmt and rust-analyzer are using these features intentionally, they just happen to be enabled when compiling thiserror on nightly.

I can think of three ways to fix the problem for this PR:

  • add thiserror-specific feature flag to thiserror (ie open a PR against that repo) that allows us to explicitly disable usage of provide_any features eg
#![cfg_attr(all(provide_any, enable_provide_any), feature(provide_any))]
  • somehow remove provide_any from the default set of enabled nightly features
  • work on a PR against thiserror in parallel with this PR to keep the changes sync'd

My preference would be the last option. I will test the thiserror branch I work on builds using a toolchain that i build from the rust repo. For the sake of getting CI to pass on this PR I think I would need to pin that version to a branch in the cargo.toml of rustfmt and rust-analyzer (I'm still a little fuzzy on how the compilation stages/steps work)

One problem I can anticipate with this approach is the need to work out a merge strategy between rust maintainers and thiserror maintainers since there is kind of a chicken-and-egg problem here:

  • would we merge into thiserror first, leaving its master/main branch broken until this PR merges into rust master?
    • I would think not because this would break anyone using thiserror on nightly.
  • or would we merge into rust first? but could we if tools aren't building?

One way to resolve the issue might be to merge this PR with a git-pinned version, for which there seems to be precedent:

./compiler/rustc_codegen_gcc/Cargo.toml
25:gccjit = { git = "https://github.com/antoyo/gccjit.rs" }

Then we would merge the thiserror PR, get a release for it, and update the rustfmt and rust-analyzer crates with the new thiserror version. At this point users who haven't updated their old nightly would just need to update it to keep building their project on nightly.

I'm probably overthinking this. If nightly is temporarily broken for a particular crate users can just hold off on updating until there is a good nightly build of the toolchain.

I hope none of this sounds crazy, I'm just trying to be thorough in my response!

@workingjubilee
Copy link
Contributor

bikesheddy/nonblocking comment: I agree that Demand makes this API look a lot different from "some networking thing", whereas the "nicer" sounding Request is indeed a bit confusing, and thus would indeed slightly prefer the meaner type. 😈

It wouldn't be the first overloaded name in std, though, if the consensus was otherwise, so it's not the end of the world either way.

@waynr
Copy link
Contributor Author

waynr commented Jul 28, 2023

bikesheddy/nonblocking comment: I agree that Demand makes this API look a lot different from "some networking thing", whereas the "nicer" sounding Request is indeed a bit confusing, and thus would indeed slightly prefer the meaner type.

Since we're getting bike-sheddy...

In addition to the lack of manners, I also don't like Demand because the word implies a sense of intolerance for not getting what is being demanded whereas the value/reference being returned here is wrapped in an Option<T> which implies the expectation that it may not be fulfilled. Therefore, for Demand to be semantically correct shouldn't we return a Result?

So instead of Demand or Request, what do you think about Query? I feel like this is better-aligned with returning an Option<T> than Demand and possibly even better than Request.

@workingjubilee
Copy link
Contributor

clearly, if we want to be that polite, we should make it an Invitation! /silly

@waynr
Copy link
Contributor Author

waynr commented Jul 29, 2023

@Amanieu gentle ping for review, or suggestions as to who might have bandwidth to review in the near future. I'll also ping the t-release/triage channel in zulip as suggested in the dev guide.

@thomcc did my comment satisfy your request for a summary of changes?

@the8472 regarding my previous report of x doc failing -- I can no longer reproduce that issue locally since I removed the provide_any flag in my latest commit but did see a suggestion from dtolany that it may have been some kind of bug in the bootstrap tooling related to unexpected standard lib used for build scripts:

That error is caused by a bug in rustc's bootstrap where, in some stages, the standard library that gets picked up if $RUSTC is run from a build script is not the standard library that the rest of the crate will get built against.

I don't fully understand this yet. It seems strange to me that it was happening at all given that the thiserror build script performs a trybuild-based probe to detect the availability of the Provider feature: https://github.com/dtolnay/thiserror/blob/543e1237d600949398a7c2e301722ce63cabbd95/build.rs#L22

I guess if the nightly toolchain automatically enables provide_any than the build script is kind of a noop?

Anyway, to answer your original question again more concisely:

Are the nightly features of those crates critical or can we disable them?

They are effectively disabled with the latest changes in this PR (ie removing the provide_any feature flag entirely).

@waynr waynr marked this pull request as ready for review July 29, 2023 22:31
library/core/src/any.rs Outdated Show resolved Hide resolved
library/core/src/any.rs Outdated Show resolved Hide resolved
library/core/src/error.rs Show resolved Hide resolved
library/core/src/error.rs Outdated Show resolved Hide resolved
library/core/src/error.rs Outdated Show resolved Hide resolved
library/core/tests/any.rs Outdated Show resolved Hide resolved
library/core/tests/any.rs Outdated Show resolved Hide resolved
@waynr
Copy link
Contributor Author

waynr commented Aug 10, 2023

@Amanieu I believe I have addressed all your feedback. I also moved some tests from library/core/tests/any.rs into a newly-created file library/core/tests/error.rs since even though they are making use of core::any::Request in some of the test helper code, the tests themselves actually exercise core::error::request_{ref,value}. But I added this as the last commit in my series of changes so if that reasoning doesn't jive with you it's easy to revert.

I mentioned this in a comment on #104485, but I am curious what makes the addition of ?Sized as a bound to generic type parameter a backwards incompatible/breaking change (this claim was made on #104485). Doesn't ?Sized merely relax/remove the implicit Sized bound on type parameters? With the addition of ?Sized to a type parameter, types that are Sized should still be valid if I understand correctly (and I often don't 🙂). If we could relax that Sized requirement on Box<dyn Error> then we could keep the test I commented out with a NOTE attempting to explain this situation in my recent updates. I think I just realized the issue here -- it's the downstream usages of Box<dyn Error> (ie contexts receiving and using Box<dyn Error> such as an error-reporting library like anyhow that rely on it having a size known at compile time) that potentially rely on the Sized bound which would be broken if it's removed, not the Box<dyn Error> itself.

Anyway, thanks again for your patience and quick responses to my questions!

library/core/src/error.rs Outdated Show resolved Hide resolved
library/core/src/any.rs Outdated Show resolved Hide resolved
library/core/src/any.rs Outdated Show resolved Hide resolved
library/core/src/any.rs Outdated Show resolved Hide resolved
github-merge-queue bot pushed a commit to knope-dev/knope that referenced this pull request Aug 15, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies |
patch | `1.0.44` -> `1.0.45` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

###
[`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

- Update backtrace support to nightly's new Error::provide API
([rust-lang/rust#113464,
[#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/knope-dev/knope).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40My4yIiwidXBkYXRlZEluVmVyIjoiMzYuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot pushed a commit to pdylanross/fatigue that referenced this pull request Aug 15, 2023
Bumps thiserror from 1.0.44 to 1.0.45.

Release notes
Sourced from thiserror's releases.

1.0.45

Update backtrace support to nightly's new Error::provide API (rust-lang/rust#113464, #246)




Commits

06f1895 Release 1.0.45
a11330f Merge pull request #246 from dtolnay/errorprovide
8a95c25 Update to nightly's new Error::provide API
543e123 Revert "Temporarily disable -Zrandomize-layout due to rustc ICE"
41b23f2 Temporarily disable -Zrandomize-layout due to rustc ICE
See full diff in compare view




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 commands and options

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 show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@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)
kodiakhq bot pushed a commit to YoloDev/cargo-featurex that referenced this pull request Aug 15, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies |
patch | `1.0.44` -> `1.0.45` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

###
[`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

- Update backtrace support to nightly's new Error::provide API
([rust-lang/rust#113464,
[#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/YoloDev/cargo-featurex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40My4yIiwidXBkYXRlZEluVmVyIjoiMzYuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
tyranron pushed a commit to JelteF/derive_more that referenced this pull request Aug 15, 2023
… nightly APIs (#294)

## Synopsis

Update derive and tests to work on the latest nightly with the changes
in [this PR](rust-lang/rust#113464).


## Solution

Use `error::{Request, request_ref, request_value}` instead of
`any::{Demand, request_ref, request_value}`.

Currently, `request_value` is not re-exported from `core::error` in
`std::error`, which means backtrace tests require
`#![feature(error_in_core)]`.

Presumably this is a bug, and will be fixed later.
shepmaster added a commit to shepmaster/rust that referenced this pull request Aug 18, 2023
I think this was simply forgotten in rust-lang#113464.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Aug 19, 2023
…anieu

Expose core::error::request_value in std

I think this was simply forgotten in rust-lang#113464.

/cc `@waynr`

r? `@Amanieu`
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Aug 19, 2023
…anieu

Expose core::error::request_value in std

I think this was simply forgotten in rust-lang#113464.

/cc ``@waynr``

r? ``@Amanieu``
Isawan added a commit to Isawan/terrashine that referenced this pull request Aug 24, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch |
`^1.0.69` -> `^1.0.75` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.75`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.75)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.74...1.0.75)

- Partially work around rust-analyzer bug
([rust-lang/rust-analyzer#9911)

### [`v1.0.74`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.74)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.73...1.0.74)

- Add bootstrap workaround to allow rustc to depend on anyhow
([#&#8203;320](https://togithub.com/dtolnay/anyhow/issues/320), thanks
[@&#8203;RalfJung](https://togithub.com/RalfJung))

### [`v1.0.73`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.73)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.72...1.0.73)

- Update backtrace support to nightly's new Error::provide API
([rust-lang/rust#113464,
[#&#8203;319](https://togithub.com/dtolnay/anyhow/issues/319))

### [`v1.0.72`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.72)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.71...1.0.72)

-   Documentation improvements

### [`v1.0.71`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.71)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.70...1.0.71)

-   Documentation improvements

### [`v1.0.70`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.70)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.69...1.0.70)

-   Update syn dependency to 2.x

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Isawan/terrashine).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
youngsofun added a commit to youngsofun/bendsql that referenced this pull request Aug 29, 2023
Update backtrace support to nightly's new Error::provide API (rust-lang/rust#113464, datafuselabs#319)
youngsofun added a commit to youngsofun/bendsql that referenced this pull request Aug 29, 2023
Update backtrace support to nightly's new Error::provide API (rust-lang/rust#113464, datafuselabs#319)
bors added a commit to rust-lang/cargo that referenced this pull request Sep 1, 2023
chore(deps): update compatible

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.72` -> `1.0.75` |
| [base64](https://togithub.com/marshallpierce/rust-base64) | workspace.dependencies | patch | `0.21.2` -> `0.21.3` |
| [bytesize](https://togithub.com/hyunsik/bytesize) | workspace.dependencies | minor | `1.2` -> `1.3` |
| [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies | minor | `4.3.23` -> `4.4.2` |
| [filetime](https://togithub.com/alexcrichton/filetime) | workspace.dependencies | patch | `0.2.21` -> `0.2.22` |
| [flate2](https://togithub.com/rust-lang/flate2-rs) | workspace.dependencies | patch | `1.0.26` -> `1.0.27` |
| [memchr](https://togithub.com/BurntSushi/memchr) | workspace.dependencies | minor | `2.5.0` -> `2.6.2` |
| [openssl](https://togithub.com/sfackler/rust-openssl) | workspace.dependencies | patch | `0.10.55` -> `0.10.57` |
| [serde-untagged](https://togithub.com/dtolnay/serde-untagged) | workspace.dependencies | patch | `0.1.0` -> `0.1.1` |
| [serde_json](https://togithub.com/serde-rs/json) | workspace.dependencies | patch | `1.0.104` -> `1.0.105` |
| [snapbox](https://togithub.com/assert-rs/trycmd/tree/main/crates/snapbox) ([source](https://togithub.com/assert-rs/trycmd)) | workspace.dependencies | patch | `0.4.11` -> `0.4.12` |
| [syn](https://togithub.com/dtolnay/syn) | workspace.dependencies | patch | `2.0.28` -> `2.0.29` |
| [tar](https://togithub.com/alexcrichton/tar-rs) | workspace.dependencies | patch | `0.4.39` -> `0.4.40` |
| [tempfile](https://stebalien.com/projects/tempfile-rs/) ([source](https://togithub.com/Stebalien/tempfile)) | workspace.dependencies | minor | `3.7.0` -> `3.8.0` |
| [thiserror](https://togithub.com/dtolnay/thiserror) | workspace.dependencies | patch | `1.0.44` -> `1.0.47` |
| [unicase](https://togithub.com/seanmonstar/unicase) | workspace.dependencies | minor | `2.6.0` -> `2.7.0` |
| [url](https://togithub.com/servo/rust-url) | workspace.dependencies | patch | `2.4.0` -> `2.4.1` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.75`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.75)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.74...1.0.75)

-   Partially work around rust-analyzer bug ([rust-lang/rust-analyzer#9911)

### [`v1.0.74`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.74)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.73...1.0.74)

-   Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://togithub.com/dtolnay/anyhow/issues/320), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.73`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.73)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.72...1.0.73)

-   Update backtrace support to nightly's new Error::provide API ([rust-lang/rust#113464, [#&#8203;319](https://togithub.com/dtolnay/anyhow/issues/319))

</details>

<details>
<summary>marshallpierce/rust-base64 (base64)</summary>

### [`v0.21.3`](https://togithub.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0213)

[Compare Source](https://togithub.com/marshallpierce/rust-base64/compare/v0.21.2...v0.21.3)

-   Implement `source` instead of `cause` on Error types
-   Roll back MSRV to 1.48.0 so Debian can continue to live in a time warp
-   Slightly faster chunked encoding for short inputs
-   Decrease binary size

</details>

<details>
<summary>hyunsik/bytesize (bytesize)</summary>

### [`v1.3.0`](https://togithub.com/hyunsik/bytesize/releases/tag/v1.3.0): Release 1.3.0

[Compare Source](https://togithub.com/hyunsik/bytesize/compare/v1.2.0...v1.3.0)

#### Changes

-   Improved performance by eliminating String creation by utilizing the original \&str slice [#&#8203;31](https://togithub.com/hyunsik/bytesize/issues/31) ([`@&#8203;ChanTsune](https://togithub.com/ChanTsune))`

</details>

<details>
<summary>clap-rs/clap (clap)</summary>

### [`v4.4.2`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#442---2023-08-31)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.1...v4.4.2)

##### Performance

-   Improve build times by removing `once_cell` dependency

### [`v4.4.1`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#441---2023-08-28)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.0...v4.4.1)

##### Features

-   Stabilize `Command::styles`

### [`v4.4.0`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#440---2023-08-24)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.3.24...v4.4.0)

##### Compatibility

-   Update MSRV to 1.70.0

### [`v4.3.24`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4324---2023-08-23)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.3.23...v4.3.24)

##### Fixes

-   Ensure column padding is preserved in `--help` with custom templates

</details>

<details>
<summary>alexcrichton/filetime (filetime)</summary>

### [`v0.2.22`](https://togithub.com/alexcrichton/filetime/compare/0.2.21...0.2.22)

[Compare Source](https://togithub.com/alexcrichton/filetime/compare/0.2.21...0.2.22)

</details>

<details>
<summary>rust-lang/flate2-rs (flate2)</summary>

### [`v1.0.27`](https://togithub.com/rust-lang/flate2-rs/releases/tag/1.0.27)

[Compare Source](https://togithub.com/rust-lang/flate2-rs/compare/1.0.26...1.0.27)

#### What's Changed

-   Move GzHeader into GzState by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [rust-lang/flate2-rs#344
-   Move blocked_partial_header_read test to read module by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [rust-lang/flate2-rs#345
-   Move gzip header parsing out of bufread module by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [rust-lang/flate2-rs#346
-   Fix a comment on the `Compression` struct by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [rust-lang/flate2-rs#351
-   Add notes about multiple streams to `GzDecoder` by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [rust-lang/flate2-rs#347
-   better error message when compiling with `--no-default-features` or `default-features = false` by [`@&#8203;Byron](https://togithub.com/Byron)` in [rust-lang/flate2-rs#360
-   Fix Read encoder examples by [`@&#8203;markgoddard](https://togithub.com/markgoddard)` in [rust-lang/flate2-rs#356
-   Add CIFuzz Github action by [`@&#8203;DavidKorczynski](https://togithub.com/DavidKorczynski)` in [rust-lang/flate2-rs#326
-   Fix GzDecoder Write partial filenames and comments by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [rust-lang/flate2-rs#323
-   Fix header CRC calculation of trailing zeros by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [rust-lang/flate2-rs#363
-   Fix broken link on README.md by [`@&#8203;wcampbell0x2a](https://togithub.com/wcampbell0x2a)` in [rust-lang/flate2-rs#366
-   Recommend MultiGzDecoder over GzDecoder in docs by [`@&#8203;jsha](https://togithub.com/jsha)` in [rust-lang/flate2-rs#324
-   Add functionality for custom (de)compress instances by [`@&#8203;PierreV23](https://togithub.com/PierreV23)` in [rust-lang/flate2-rs#361
-   Add maintenance document by [`@&#8203;Byron](https://togithub.com/Byron)` in [rust-lang/flate2-rs#362
-   Document that `read::GzDecoder` consumes bytes after end of gzip by [`@&#8203;jongiddy](https://togithub.com/jongiddy)` in [rust-lang/flate2-rs#367
-   prepare 1.0.27 release by [`@&#8203;Byron](https://togithub.com/Byron)` in [rust-lang/flate2-rs#369

#### New Contributors

-   [`@&#8203;Byron](https://togithub.com/Byron)` made their first contribution in [rust-lang/flate2-rs#360
-   [`@&#8203;markgoddard](https://togithub.com/markgoddard)` made their first contribution in [rust-lang/flate2-rs#356
-   [`@&#8203;jsha](https://togithub.com/jsha)` made their first contribution in [rust-lang/flate2-rs#324
-   [`@&#8203;PierreV23](https://togithub.com/PierreV23)` made their first contribution in [rust-lang/flate2-rs#361

**Full Changelog**: rust-lang/flate2-rs@1.0.26...1.0.27

</details>

<details>
<summary>BurntSushi/memchr (memchr)</summary>

### [`v2.6.2`](https://togithub.com/BurntSushi/memchr/compare/2.6.1...2.6.2)

[Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.6.1...2.6.2)

### [`v2.6.1`](https://togithub.com/BurntSushi/memchr/compare/2.6.0...2.6.1)

[Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.6.0...2.6.1)

### [`v2.6.0`](https://togithub.com/BurntSushi/memchr/compare/2.5.0...2.6.0)

[Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.5.0...2.6.0)

</details>

<details>
<summary>sfackler/rust-openssl (openssl)</summary>

### [`v0.10.57`](https://togithub.com/sfackler/rust-openssl/releases/tag/openssl-v0.10.57)

[Compare Source](https://togithub.com/sfackler/rust-openssl/compare/openssl-v0.10.56...openssl-v0.10.57)

#### What's Changed

-   Expose chacha20\_poly1305 on LibreSSL by [`@&#8203;alex](https://togithub.com/alex)` in [sfackler/rust-openssl#2011
-   Add openssl::cipher_ctx::CipherCtx::clone by [`@&#8203;johntyner](https://togithub.com/johntyner)` in [sfackler/rust-openssl#2017
-   Add X509VerifyParam::set_email by [`@&#8203;dhouck](https://togithub.com/dhouck)` in [sfackler/rust-openssl#2018
-   Add perl-FindBin dep for fedora by [`@&#8203;JadedBlueEyes](https://togithub.com/JadedBlueEyes)` in [sfackler/rust-openssl#2023
-   Update to bitflags 2.2.1. by [`@&#8203;qwandor](https://togithub.com/qwandor)` in [sfackler/rust-openssl#1906
-   Release openssl v0.10.57 and openssl-sys v0.9.92 by [`@&#8203;alex](https://togithub.com/alex)` in [sfackler/rust-openssl#2025

#### New Contributors

-   [`@&#8203;johntyner](https://togithub.com/johntyner)` made their first contribution in [sfackler/rust-openssl#2017
-   [`@&#8203;dhouck](https://togithub.com/dhouck)` made their first contribution in [sfackler/rust-openssl#2018
-   [`@&#8203;JadedBlueEyes](https://togithub.com/JadedBlueEyes)` made their first contribution in [sfackler/rust-openssl#2023
-   [`@&#8203;qwandor](https://togithub.com/qwandor)` made their first contribution in [sfackler/rust-openssl#1906

**Full Changelog**: sfackler/rust-openssl@openssl-v0.10.56...openssl-v0.10.57

### [`v0.10.56`](https://togithub.com/sfackler/rust-openssl/releases/tag/openssl-v0.10.56): openssl v0.10.56

[Compare Source](https://togithub.com/sfackler/rust-openssl/compare/openssl-v0.10.55...openssl-v0.10.56)

</details>

<details>
<summary>dtolnay/serde-untagged (serde-untagged)</summary>

### [`v0.1.1`](https://togithub.com/dtolnay/serde-untagged/compare/0.1.0...0.1.1)

[Compare Source](https://togithub.com/dtolnay/serde-untagged/compare/0.1.0...0.1.1)

</details>

<details>
<summary>serde-rs/json (serde_json)</summary>

### [`v1.0.105`](https://togithub.com/serde-rs/json/releases/tag/v1.0.105)

[Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.104...v1.0.105)

-   Support bool in map keys ([#&#8203;1054](https://togithub.com/serde-rs/json/issues/1054))

</details>

<details>
<summary>assert-rs/trycmd (snapbox)</summary>

### [`v0.4.12`](https://togithub.com/assert-rs/trycmd/compare/snapbox-v0.4.11...snapbox-v0.4.12)

[Compare Source](https://togithub.com/assert-rs/trycmd/compare/snapbox-v0.4.11...snapbox-v0.4.12)

</details>

<details>
<summary>dtolnay/syn (syn)</summary>

### [`v2.0.29`](https://togithub.com/dtolnay/syn/releases/tag/2.0.29)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.28...2.0.29)

-   Partially work around rust-analyzer bug ([rust-lang/rust-analyzer#9911)

</details>

<details>
<summary>alexcrichton/tar-rs (tar)</summary>

### [`v0.4.40`](https://togithub.com/alexcrichton/tar-rs/compare/0.4.39...0.4.40)

[Compare Source](https://togithub.com/alexcrichton/tar-rs/compare/0.4.39...0.4.40)

</details>

<details>
<summary>Stebalien/tempfile (tempfile)</summary>

### [`v3.8.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#380)

[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.7.1...v3.8.0)

-   Added `with_prefix` and `with_prefix_in` to `TempDir` and `NamedTempFile` to make it easier to create temporary files/directories with nice prefixes.
-   Misc cleanups.

### [`v3.7.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#371)

[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.7.0...v3.7.1)

-   Tempfile builds on haiku again.
-   Under the hood, we've switched from the unlinkat/linkat syscalls to the regular unlink/link syscalls where possible.

</details>

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

-   Work around rust-analyzer bug ([rust-lang/rust-analyzer#9911)

### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

-   Add bootstrap workaround to allow rustc to depend on thiserror ([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

-   Update backtrace support to nightly's new Error::provide API ([rust-lang/rust#113464, [#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

<details>
<summary>seanmonstar/unicase (unicase)</summary>

### [`v2.7.0`](https://togithub.com/seanmonstar/unicase/releases/tag/v2.7.0)

[Compare Source](https://togithub.com/seanmonstar/unicase/compare/v2.6.0...v2.7.0)

#### What's Changed

-   Update to Unicode 15.0.0 by [`@&#8203;seanmonstar](https://togithub.com/seanmonstar)` in [seanmonstar/unicase#59

</details>

<details>
<summary>servo/rust-url (url)</summary>

### [`v2.4.1`](https://togithub.com/servo/rust-url/releases/tag/v2.4.1)

[Compare Source](https://togithub.com/servo/rust-url/compare/v2.4.0...v2.4.1)

##### What's Changed

-   Move debugger_visualizer tests to separate crate by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [servo/rust-url#853
-   Remove obsolete badge references by [`@&#8203;atouchet](https://togithub.com/atouchet)` in [servo/rust-url#852
-   Fix trailing spaces in scheme / pathname / search setters by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [servo/rust-url#848
-   fix: implement std::error::Error for data-url by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [servo/rust-url#698
-   Enable the GitHub merge queue by [`@&#8203;mrobinson](https://togithub.com/mrobinson)` in [servo/rust-url#851
-   Rewrite WPT runner by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [servo/rust-url#857
-   Implement std::error::Error for InvalidBase64 by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [servo/rust-url#856
-   Add `--generate-link-to-definition` option when building on docs.rs by [`@&#8203;GuillaumeGomez](https://togithub.com/GuillaumeGomez)` in [servo/rust-url#858
-   Stabilize debugger_visualizer feature by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [servo/rust-url#855
-   Update WPT data and expectations by [`@&#8203;lucacasonato](https://togithub.com/lucacasonato)` in [servo/rust-url#859
-   Fix no_std Support for idna by [`@&#8203;domenukk](https://togithub.com/domenukk)` in [servo/rust-url#843
-   Fix panic in set_path for file URLs  by [`@&#8203;valenting](https://togithub.com/valenting)` in [servo/rust-url#865

##### New Contributors

-   [`@&#8203;mrobinson](https://togithub.com/mrobinson)` made their first contribution in [servo/rust-url#851
-   [`@&#8203;GuillaumeGomez](https://togithub.com/GuillaumeGomez)` made their first contribution in [servo/rust-url#858
-   [`@&#8203;domenukk](https://togithub.com/domenukk)` made their first contribution in [servo/rust-url#843

**Full Changelog**: servo/rust-url@v2.4.0...v2.4.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi42OC4xIiwidXBkYXRlZEluVmVyIjoiMzYuNjguMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->
bors bot added a commit to evenfurther/hibp-check that referenced this pull request Sep 11, 2023
385: Update Rust crate anyhow to 1.0.75 r=samueltardieu a=renovate-bot

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch | `1.0.71` -> `1.0.75` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.75`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.75)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.74...1.0.75)

-   Partially work around rust-analyzer bug ([rust-lang/rust-analyzer#9911)

### [`v1.0.74`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.74)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.73...1.0.74)

-   Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://togithub.com/dtolnay/anyhow/issues/320), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.73`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.73)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.72...1.0.73)

-   Update backtrace support to nightly's new Error::provide API ([rust-lang/rust#113464, [#&#8203;319](https://togithub.com/dtolnay/anyhow/issues/319))

### [`v1.0.72`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.72)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.71...1.0.72)

-   Documentation improvements

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/hibp-check).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: Mend Renovate <bot@renovateapp.com>
kodiakhq bot pushed a commit to X-oss-byte/Canary-nextjs that referenced this pull request Sep 19, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch | `1.0.66` -> `1.0.75` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.75`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.75)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.74...1.0.75)

-   Partially work around rust-analyzer bug ([rust-lang/rust-analyzer#9911)

### [`v1.0.74`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.74)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.73...1.0.74)

-   Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://togithub.com/dtolnay/anyhow/issues/320), thanks [@&#8203;RalfJung](https://togithub.com/RalfJung))

### [`v1.0.73`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.73)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.72...1.0.73)

-   Update backtrace support to nightly's new Error::provide API ([rust-lang/rust#113464, [#&#8203;319](https://togithub.com/dtolnay/anyhow/issues/319))

### [`v1.0.72`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.72)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.71...1.0.72)

-   Documentation improvements

### [`v1.0.71`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.71)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.70...1.0.71)

-   Documentation improvements

### [`v1.0.70`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.70)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.69...1.0.70)

-   Update syn dependency to 2.x

### [`v1.0.69`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.69)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.68...1.0.69)

-   Documentation improvements

### [`v1.0.68`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.68)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.67...1.0.68)

-   Opt out of `-Zrustdoc-scrape-examples` on docs.rs for now

### [`v1.0.67`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.67)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.66...1.0.67)

-   Improve the backtrace captured when `context()` is used on an `Option` ([#&#8203;280](https://togithub.com/dtolnay/anyhow/issues/280))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/sammyfilly/Canary-nextjs).
kodiakhq bot pushed a commit to X-oss-byte/Nextjs that referenced this pull request Sep 21, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch | `1.0.66` -> `1.0.75` |
| [anyhow](https://togithub.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.69` -> `1.0.75` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.75`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.75)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.74...1.0.75)

-   Partially work around rust-analyzer bug ([rust-lang/rust-analyzer#9911)

### [`v1.0.74`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.74)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.73...1.0.74)

-   Add bootstrap workaround to allow rustc to depend on anyhow ([#&#8203;320](https://togithub.com/dtolnay/anyhow/issues/320), thanks [@&#8203;RalfJung](https://togithub.com/RalfJung))

### [`v1.0.73`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.73)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.72...1.0.73)

-   Update backtrace support to nightly's new Error::provide API ([rust-lang/rust#113464, [#&#8203;319](https://togithub.com/dtolnay/anyhow/issues/319))

### [`v1.0.72`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.72)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.71...1.0.72)

-   Documentation improvements

### [`v1.0.71`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.71)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.70...1.0.71)

-   Documentation improvements

### [`v1.0.70`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.70)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.69...1.0.70)

-   Update syn dependency to 2.x

### [`v1.0.69`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.69)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.68...1.0.69)

-   Documentation improvements

### [`v1.0.68`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.68)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.67...1.0.68)

-   Opt out of `-Zrustdoc-scrape-examples` on docs.rs for now

### [`v1.0.67`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.67)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.66...1.0.67)

-   Improve the backtrace captured when `context()` is used on an `Option` ([#&#8203;280](https://togithub.com/dtolnay/anyhow/issues/280))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/sammyfilly/Nextjs).
bors bot added a commit to evenfurther/pathfinding that referenced this pull request Sep 22, 2023
431: chore(deps): update pre-commit/action action to v2.0.3 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [pre-commit/action](https://togithub.com/pre-commit/action) | action | patch | `v2.0.0` -> `v2.0.3` |

---

### Release Notes

<details>
<summary>pre-commit/action (pre-commit/action)</summary>

### [`v2.0.3`](https://togithub.com/pre-commit/action/releases/tag/v2.0.3): pre-commit/action@v2.0.3

[Compare Source](https://togithub.com/pre-commit/action/compare/v2.0.2...v2.0.3)

##### Fixes

-   `push` compatibility with `actions/checkout@v2` which checks out the branch
    -   [#&#8203;97](https://togithub.com/pre-commit/action/issues/97) PR by [`@&#8203;jackton1](https://togithub.com/jackton1).`

### [`v2.0.2`](https://togithub.com/pre-commit/action/releases/tag/v2.0.2): pre-commit/action@v2.0.2

[Compare Source](https://togithub.com/pre-commit/action/compare/v2.0.1...v2.0.2)

retag of 2.0.1 but on the proper branch

### [`v2.0.1`](https://togithub.com/pre-commit/action/releases/tag/v2.0.1): pre-commit/action@v2.0.1

[Compare Source](https://togithub.com/pre-commit/action/compare/v2.0.0...v2.0.1)

##### Fixes

-   Avoid failures if cache saving fails
    -   [#&#8203;54](https://togithub.com/pre-commit/action/issues/54) PR by [`@&#8203;s-weigand](https://togithub.com/s-weigand)`
    -   [#&#8203;53](https://togithub.com/pre-commit/action/issues/53) issue by [`@&#8203;s-weigand](https://togithub.com/s-weigand)`

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


432: chore(deps): update rust crate trybuild to 1.0.85 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [trybuild](https://togithub.com/dtolnay/trybuild) | dev-dependencies | patch | `1.0.82` -> `1.0.85` |

---

### Release Notes

<details>
<summary>dtolnay/trybuild (trybuild)</summary>

### [`v1.0.85`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.85)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.84...1.0.85)

-   Set thread name to produce better message on panic ([#&#8203;243](https://togithub.com/dtolnay/trybuild/issues/243), [#&#8203;244](https://togithub.com/dtolnay/trybuild/issues/244))

### [`v1.0.84`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.84)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.83...1.0.84)

-   Stabilize usage of Cargo's `--keep-going` build mode, which parallelizes test compilation for a significant speedup ([rust-lang/cargo#12568, [#&#8203;240](https://togithub.com/dtolnay/trybuild/issues/240))

### [`v1.0.83`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.83)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.82...1.0.83)

-   Improve normalization of code blocks after 'help:' ([#&#8203;238](https://togithub.com/dtolnay/trybuild/issues/238))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


434: fix(deps): update rust crate thiserror to 1.0.48 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies | patch | `1.0.44` -> `1.0.48` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

### [`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

-   Improve implementation of displaying Path values in a generated Display impl ([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251), thanks [`@&#8203;mina86](https://togithub.com/mina86))`

### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

-   Work around rust-analyzer bug ([rust-lang/rust-analyzer#9911)

### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

-   Add bootstrap workaround to allow rustc to depend on thiserror ([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

-   Update backtrace support to nightly's new Error::provide API ([rust-lang/rust#113464, [#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


435: chore(deps): update rust crate codspeed-criterion-compat to 2.2.0 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [codspeed-criterion-compat](https://codspeed.io) ([source](https://togithub.com/CodSpeedHQ/codspeed-rust)) | dev-dependencies | minor | `2.1.0` -> `2.2.0` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/codspeed-rust (codspeed-criterion-compat)</summary>

### [`v2.2.0`](https://togithub.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.2.0)

[Compare Source](https://togithub.com/CodSpeedHQ/codspeed-rust/compare/v2.1.0...v2.2.0)

#### What's Changed

It's now possible to disable `codspeed_criterion_compat` default features.

##### Details

-   fix: allow disabling criterion default features by [`@&#8203;art049](https://togithub.com/art049)` in [CodSpeedHQ/codspeed-rust#12

**Full Changelog**: CodSpeedHQ/codspeed-rust@v2.1.0...v2.2.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
bors bot added a commit to evenfurther/pathfinding that referenced this pull request Sep 22, 2023
434: fix(deps): update rust crate thiserror to 1.0.48 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies | patch | `1.0.44` -> `1.0.48` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

### [`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

-   Improve implementation of displaying Path values in a generated Display impl ([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251), thanks [`@&#8203;mina86](https://togithub.com/mina86))`

### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

-   Work around rust-analyzer bug ([rust-lang/rust-analyzer#9911)

### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

-   Add bootstrap workaround to allow rustc to depend on thiserror ([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

-   Update backtrace support to nightly's new Error::provide API ([rust-lang/rust#113464, [#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


435: chore(deps): update rust crate codspeed-criterion-compat to 2.2.0 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [codspeed-criterion-compat](https://codspeed.io) ([source](https://togithub.com/CodSpeedHQ/codspeed-rust)) | dev-dependencies | minor | `2.1.0` -> `2.2.0` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/codspeed-rust (codspeed-criterion-compat)</summary>

### [`v2.2.0`](https://togithub.com/CodSpeedHQ/codspeed-rust/releases/tag/v2.2.0)

[Compare Source](https://togithub.com/CodSpeedHQ/codspeed-rust/compare/v2.1.0...v2.2.0)

#### What's Changed

It's now possible to disable `codspeed_criterion_compat` default features.

##### Details

-   fix: allow disabling criterion default features by [`@&#8203;art049](https://togithub.com/art049)` in [CodSpeedHQ/codspeed-rust#12

**Full Changelog**: CodSpeedHQ/codspeed-rust@v2.1.0...v2.2.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
bors bot added a commit to evenfurther/pathfinding that referenced this pull request Sep 22, 2023
434: fix(deps): update rust crate thiserror to 1.0.48 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies | patch | `1.0.44` -> `1.0.48` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

### [`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

-   Improve implementation of displaying Path values in a generated Display impl ([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251), thanks [`@&#8203;mina86](https://togithub.com/mina86))`

### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

-   Work around rust-analyzer bug ([rust-lang/rust-analyzer#9911)

### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

-   Add bootstrap workaround to allow rustc to depend on thiserror ([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

-   Update backtrace support to nightly's new Error::provide API ([rust-lang/rust#113464, [#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
bors bot added a commit to evenfurther/pathfinding that referenced this pull request Sep 22, 2023
432: chore(deps): update rust crate trybuild to 1.0.85 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [trybuild](https://togithub.com/dtolnay/trybuild) | dev-dependencies | patch | `1.0.82` -> `1.0.85` |

---

### Release Notes

<details>
<summary>dtolnay/trybuild (trybuild)</summary>

### [`v1.0.85`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.85)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.84...1.0.85)

-   Set thread name to produce better message on panic ([#&#8203;243](https://togithub.com/dtolnay/trybuild/issues/243), [#&#8203;244](https://togithub.com/dtolnay/trybuild/issues/244))

### [`v1.0.84`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.84)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.83...1.0.84)

-   Stabilize usage of Cargo's `--keep-going` build mode, which parallelizes test compilation for a significant speedup ([rust-lang/cargo#12568, [#&#8203;240](https://togithub.com/dtolnay/trybuild/issues/240))

### [`v1.0.83`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.83)

[Compare Source](https://togithub.com/dtolnay/trybuild/compare/1.0.82...1.0.83)

-   Improve normalization of code blocks after 'help:' ([#&#8203;238](https://togithub.com/dtolnay/trybuild/issues/238))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


434: fix(deps): update rust crate thiserror to 1.0.48 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies | patch | `1.0.44` -> `1.0.48` |

---

### Release Notes

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

### [`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

-   Improve implementation of displaying Path values in a generated Display impl ([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251), thanks [`@&#8203;mina86](https://togithub.com/mina86))`

### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

-   Work around rust-analyzer bug ([rust-lang/rust-analyzer#9911)

### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

-   Add bootstrap workaround to allow rustc to depend on thiserror ([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [`@&#8203;RalfJung](https://togithub.com/RalfJung))`

### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

-   Update backtrace support to nightly's new Error::provide API ([rust-lang/rust#113464, [#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


437: chore(deps): update actions/checkout action to v4 r=samueltardieu a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://togithub.com/actions/checkout) | action | major | `v3` -> `v4` |
| [actions/checkout](https://togithub.com/actions/checkout) | action | major | `v1` -> `v4` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v4`](https://togithub.com/actions/checkout/blob/HEAD/CHANGELOG.md#v400)

[Compare Source](https://togithub.com/actions/checkout/compare/v3...v4)

-   [Support fetching without the --progress option](https://togithub.com/actions/checkout/pull/1067)
-   [Update to node20](https://togithub.com/actions/checkout/pull/1436)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/samueltardieu/pathfinding).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi45Ny4xIiwidXBkYXRlZEluVmVyIjoiMzYuOTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Geal pushed a commit to apollographql/federation-rs that referenced this pull request Jan 15, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch |
`1.0.75` -> `1.0.79` |
| [async-channel](https://togithub.com/smol-rs/async-channel) |
dependencies | minor | `1.8.0` -> `1.9.0` |
| [insta](https://insta.rs/)
([source](https://togithub.com/mitsuhiko/insta)) | dev-dependencies |
patch | `1.28.0` -> `1.34.0` |
| [serde](https://serde.rs)
([source](https://togithub.com/serde-rs/serde)) | dependencies | patch |
`1.0.158` -> `1.0.195` |
| [serde_json](https://togithub.com/serde-rs/json) | dependencies |
patch | `1.0.94` -> `1.0.111` |
| [tempfile](https://stebalien.com/projects/tempfile-rs/)
([source](https://togithub.com/Stebalien/tempfile)) | dependencies |
minor | `3.4` -> `3.9` |
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies |
patch | `1.0.40` -> `1.0.56` |
| [tokio](https://tokio.rs)
([source](https://togithub.com/tokio-rs/tokio)) | dependencies | minor |
`1.24.2` -> `1.35.1` |
| [which](https://togithub.com/harryfei/which-rs) | build-dependencies |
patch | `4.4.0` -> `4.4.2` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.79`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.79)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.78...1.0.79)

- Work around improperly cached build script result by sccache
([#&#8203;340](https://togithub.com/dtolnay/anyhow/issues/340))

### [`v1.0.78`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.78)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.77...1.0.78)

- Reduce spurious rebuilds under RustRover IDE when using a nightly
toolchain
([#&#8203;337](https://togithub.com/dtolnay/anyhow/issues/337))

### [`v1.0.77`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.77)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.76...1.0.77)

- Make `anyhow::Error::backtrace` available on stable Rust compilers
1.65+ ([#&#8203;293](https://togithub.com/dtolnay/anyhow/issues/293),
thanks [@&#8203;LukasKalbertodt](https://togithub.com/LukasKalbertodt))

### [`v1.0.76`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.76)

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.75...1.0.76)

- Opt in to `unsafe_op_in_unsafe_fn` lint
([#&#8203;329](https://togithub.com/dtolnay/anyhow/issues/329))

</details>

<details>
<summary>smol-rs/async-channel (async-channel)</summary>

###
[`v1.9.0`](https://togithub.com/smol-rs/async-channel/blob/HEAD/CHANGELOG.md#Version-190)

[Compare
Source](https://togithub.com/smol-rs/async-channel/compare/v1.8.0...v1.9.0)

- Fix a bug where `WeakSender/WeakReceiver` could incorrectly return
`Some` even if the channel is already closed
([#&#8203;60](https://togithub.com/smol-rs/async-channel/issues/60))
- Remove the unnecessary `T: Clone` bound from
`WeakSender/WeakReceiver`'s `Clone` implementation
([#&#8203;62](https://togithub.com/smol-rs/async-channel/issues/62))

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

###
[`v1.0.195`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.195)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.194...v1.0.195)

- Prevent remote definitions of tuple struct or tuple variant from
triggering dead_code warning
([#&#8203;2671](https://togithub.com/serde-rs/serde/issues/2671))

###
[`v1.0.194`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.194)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.193...v1.0.194)

- Update proc-macro2 to fix caching issue when using a rustc-wrapper
such as sccache

###
[`v1.0.193`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.193)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.192...v1.0.193)

- Fix field names used for the deserialization of `RangeFrom` and
`RangeTo`
([#&#8203;2653](https://togithub.com/serde-rs/serde/issues/2653),
[#&#8203;2654](https://togithub.com/serde-rs/serde/issues/2654),
[#&#8203;2655](https://togithub.com/serde-rs/serde/issues/2655), thanks
[@&#8203;emilbonnek](https://togithub.com/emilbonnek))

###
[`v1.0.192`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.192)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.191...v1.0.192)

- Allow internal tag field in untagged variant
([#&#8203;2646](https://togithub.com/serde-rs/serde/issues/2646), thanks
[@&#8203;robsdedude](https://togithub.com/robsdedude))

###
[`v1.0.191`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.191)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.190...v1.0.191)

-   Documentation improvements

###
[`v1.0.190`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.190)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.189...v1.0.190)

- Preserve NaN sign when deserializing f32 from f64 or vice versa
([#&#8203;2637](https://togithub.com/serde-rs/serde/issues/2637))

###
[`v1.0.189`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.189)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.188...v1.0.189)

- Fix "cannot infer type" error when internally tagged enum contains
untagged variant
([#&#8203;2613](https://togithub.com/serde-rs/serde/issues/2613), thanks
[@&#8203;ahl](https://togithub.com/ahl))

###
[`v1.0.188`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.188)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.187...v1.0.188)

- Fix *"failed to parse manifest"* error when building serde using a
Cargo version between 1.45 and 1.50
([#&#8203;2603](https://togithub.com/serde-rs/serde/issues/2603))

###
[`v1.0.187`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.187)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.186...v1.0.187)

- Remove support for Emscripten targets on rustc older than 1.40
([#&#8203;2600](https://togithub.com/serde-rs/serde/issues/2600))

###
[`v1.0.186`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.186)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.185...v1.0.186)

- Disallow incompatible versions of `serde_derive` and `serde` in the
dependency graph
([#&#8203;2588](https://togithub.com/serde-rs/serde/issues/2588), thanks
[@&#8203;soqb](https://togithub.com/soqb))

###
[`v1.0.185`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.185)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.184...v1.0.185)

- Fix error *"cannot move out of `*self` which is behind a shared
reference"* deriving Serialize on a non_exhaustive enum
([#&#8203;2591](https://togithub.com/serde-rs/serde/issues/2591))

###
[`v1.0.184`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.184)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.183...v1.0.184)

- Restore from-source `serde_derive` build on all platforms — eventually
we'd like to use a first-class precompiled macro if such a thing becomes
supported by cargo / crates.io

###
[`v1.0.183`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.183)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.182...v1.0.183)

- Support deserializing `Box<OsStr>` with an equivalent representation
as `OsString`
([#&#8203;2556](https://togithub.com/serde-rs/serde/issues/2556), thanks
[@&#8203;DBLouis](https://togithub.com/DBLouis))

###
[`v1.0.182`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.182)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.181...v1.0.182)

- Render field aliases in sorted order in error messages
([#&#8203;2458](https://togithub.com/serde-rs/serde/issues/2458), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
- Support `serde(default)` on tuple structs
([#&#8203;2553](https://togithub.com/serde-rs/serde/issues/2553), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

###
[`v1.0.181`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.181)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.180...v1.0.181)

- Make `serde(alias)` work in combination with `flatten` when using
in-place deserialization
([#&#8203;2443](https://togithub.com/serde-rs/serde/issues/2443), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
- Improve the representation of adjacently tagged enums in formats where
enum tags are serialized by index, as opposed to by string name
([#&#8203;2505](https://togithub.com/serde-rs/serde/issues/2505),
[#&#8203;2496](https://togithub.com/serde-rs/serde/issues/2496), thanks
[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))

###
[`v1.0.180`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.180)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.179...v1.0.180)

-   Update to 2018 edition

###
[`v1.0.179`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.179)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.178...v1.0.179)

- Support serialization of tuple variants inside a flattened field
([#&#8203;2448](https://togithub.com/serde-rs/serde/issues/2448), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

###
[`v1.0.178`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.178)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.177...v1.0.178)

- Fix build error when using serde with "std" feature turned off and
"unstable" feature turned on
([#&#8203;2541](https://togithub.com/serde-rs/serde/issues/2541))

###
[`v1.0.177`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.177)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.176...v1.0.177)

- Add `serde(rename_all_fields = "...")` attribute to apply a
`rename_all` on every struct variant of an enum
([#&#8203;1695](https://togithub.com/serde-rs/serde/issues/1695), thanks
[@&#8203;jplatte](https://togithub.com/jplatte))
- Improve diagnostics for attribute parse errors
([#&#8203;2536](https://togithub.com/serde-rs/serde/issues/2536), thanks
[@&#8203;jplatte](https://togithub.com/jplatte))

###
[`v1.0.176`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.176)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.175...v1.0.176)

- Allow tag field of an internally tagged enum to have same name as a
field inside a skipped struct variant
([#&#8203;2266](https://togithub.com/serde-rs/serde/issues/2266), thanks
[@&#8203;flisky](https://togithub.com/flisky))

###
[`v1.0.175`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.175)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.174...v1.0.175)

- Restore missing LICENSE files in serde_derive crate
([#&#8203;2527](https://togithub.com/serde-rs/serde/issues/2527), thanks
[@&#8203;ankane](https://togithub.com/ankane))

###
[`v1.0.174`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.174)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.173...v1.0.174)

-   Documentation improvements

###
[`v1.0.173`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.173)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.172...v1.0.173)

- Fix missing trait implementations when using serde derive macro on a
macro-generated data structure, such as via the `bitflags` crate
([#&#8203;2516](https://togithub.com/serde-rs/serde/issues/2516))

###
[`v1.0.172`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.172)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.171...v1.0.172)

- Experiment with precompiling the serde_derive macros to reduce build
time ([#&#8203;2514](https://togithub.com/serde-rs/serde/issues/2514))

###
[`v1.0.171`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.171)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.170...v1.0.171)

- Support `derive(Deserialize)` on unit structs that have const generics
([#&#8203;2500](https://togithub.com/serde-rs/serde/issues/2500), thanks
[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))

###
[`v1.0.170`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.170)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.169...v1.0.170)

- Produce error message on suffixed string literals inside serde
attributes
([#&#8203;2242](https://togithub.com/serde-rs/serde/issues/2242))
- Support single identifier as unbraced default value for const generic
parameter
([#&#8203;2449](https://togithub.com/serde-rs/serde/issues/2449))

###
[`v1.0.169`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.169)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.168...v1.0.169)

- Add Deserializer::deserialize_identifier support for adjacently tagged
enums ([#&#8203;2475](https://togithub.com/serde-rs/serde/issues/2475),
thanks [@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))
- Fix unused_braces lint in generated Deserialize impl that uses braced
const generic expressions
([#&#8203;2414](https://togithub.com/serde-rs/serde/issues/2414))

###
[`v1.0.168`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.168)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.167...v1.0.168)

- Allow `serde::de::IgnoredAny` to be the type for a `serde(flatten)`
field ([#&#8203;2436](https://togithub.com/serde-rs/serde/issues/2436),
thanks [@&#8203;Mingun](https://togithub.com/Mingun))
- Allow larger preallocated capacity for smaller elements
([#&#8203;2494](https://togithub.com/serde-rs/serde/issues/2494))

###
[`v1.0.167`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.167)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.166...v1.0.167)

- Add serialize and deserialize impls for `RangeFrom` and `RangeTo`
([#&#8203;2471](https://togithub.com/serde-rs/serde/issues/2471), thanks
[@&#8203;tbu-](https://togithub.com/tbu-))

###
[`v1.0.166`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.166)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.165...v1.0.166)

-   Add `no-alloc` category to crates.io metadata

###
[`v1.0.165`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.165)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.164...v1.0.165)

- Fix incorrect count of fields passed to tuple deserialization methods
when using `serde(skip_deserializing)` attributes
([#&#8203;2466](https://togithub.com/serde-rs/serde/issues/2466), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
-   Fix `-Zminimal-versions` build

###
[`v1.0.164`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.164)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.163...v1.0.164)

- Allowed enum variants to be individually marked as untagged
([#&#8203;2403](https://togithub.com/serde-rs/serde/issues/2403), thanks
[@&#8203;dewert99](https://togithub.com/dewert99))

###
[`v1.0.163`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.163)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.162...v1.0.163)

- Eliminate build script from serde_derive crate to slightly reduce
build time
([#&#8203;2442](https://togithub.com/serde-rs/serde/issues/2442), thanks
[@&#8203;taiki-e](https://togithub.com/taiki-e))

###
[`v1.0.162`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.162)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.161...v1.0.162)

- Support deserializing flattened adjacently tagged enums from data
formats which represent fields as bytes, such as the `csv` crate
([#&#8203;2377](https://togithub.com/serde-rs/serde/issues/2377), thanks
[@&#8203;mfro](https://togithub.com/mfro))

    ```rust
    #[derive(Deserialize)]
    pub struct Record {
        common: u64,
        #[serde(flatten)]
        kind: Kind,
    }

    #[derive(Deserialize)]
#[serde(tag = "kind", content = "parameter", rename_all = "lowercase")]
    enum Kind {
        Foo(u64),
        Bar(bool),
    }
    ```

    ```csv
    common,kind,parameter
    1,foo,42
    2,bar,true
    ```

###
[`v1.0.161`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.161)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.160...v1.0.161)

- Improve error messages produced by serde_test on test failure
([#&#8203;2435](https://togithub.com/serde-rs/serde/issues/2435), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

###
[`v1.0.160`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.160)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.159...v1.0.160)

- Make derived serializer/deserializer internals `doc(hidden)`
([#&#8203;2426](https://togithub.com/serde-rs/serde/issues/2426), thanks
[@&#8203;compiler-errors](https://togithub.com/compiler-errors))

###
[`v1.0.159`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.159)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.158...v1.0.159)

- Accept empty #\[serde()] attribute
([#&#8203;2422](https://togithub.com/serde-rs/serde/issues/2422))

</details>

<details>
<summary>serde-rs/json (serde_json)</summary>

###
[`v1.0.111`](https://togithub.com/serde-rs/json/releases/tag/v1.0.111)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.110...v1.0.111)

- Improve floating point parsing performance on loongarch64
([#&#8203;1100](https://togithub.com/serde-rs/json/issues/1100), thanks
[@&#8203;heiher](https://togithub.com/heiher))

###
[`v1.0.110`](https://togithub.com/serde-rs/json/compare/v1.0.109...v1.0.110)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.109...v1.0.110)

###
[`v1.0.109`](https://togithub.com/serde-rs/json/releases/tag/v1.0.109)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.108...v1.0.109)

-   Documentation improvements

###
[`v1.0.108`](https://togithub.com/serde-rs/json/releases/tag/v1.0.108)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.107...v1.0.108)

- Documentation improvements
([#&#8203;1075](https://togithub.com/serde-rs/json/issues/1075),
[#&#8203;1081](https://togithub.com/serde-rs/json/issues/1081),
[#&#8203;1082](https://togithub.com/serde-rs/json/issues/1082), thanks
[@&#8203;dimo414](https://togithub.com/dimo414) and
[@&#8203;fritzrehde](https://togithub.com/fritzrehde))

###
[`v1.0.107`](https://togithub.com/serde-rs/json/releases/tag/v1.0.107)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.106...v1.0.107)

- impl IntoDeserializer for \&RawValue
([#&#8203;1071](https://togithub.com/serde-rs/json/issues/1071))

###
[`v1.0.106`](https://togithub.com/serde-rs/json/releases/tag/v1.0.106)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.105...v1.0.106)

- Add `Value::as_number` accessor
([#&#8203;1069](https://togithub.com/serde-rs/json/issues/1069), thanks
[@&#8203;chanced](https://togithub.com/chanced))
- Add `Number::as_str` accessor under "arbitrary_precision" feature
([#&#8203;1067](https://togithub.com/serde-rs/json/issues/1067), thanks
[@&#8203;chanced](https://togithub.com/chanced))

###
[`v1.0.105`](https://togithub.com/serde-rs/json/releases/tag/v1.0.105)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.104...v1.0.105)

- Support bool in map keys
([#&#8203;1054](https://togithub.com/serde-rs/json/issues/1054))

###
[`v1.0.104`](https://togithub.com/serde-rs/json/releases/tag/v1.0.104)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.103...v1.0.104)

- Provide IntoDeserializer impl for \&serde_json::Value
([#&#8203;1045](https://togithub.com/serde-rs/json/issues/1045), thanks
[@&#8203;ZetaNumbers](https://togithub.com/ZetaNumbers))

###
[`v1.0.103`](https://togithub.com/serde-rs/json/releases/tag/v1.0.103)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.102...v1.0.103)

-   Documentation improvements

###
[`v1.0.102`](https://togithub.com/serde-rs/json/releases/tag/v1.0.102)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.101...v1.0.102)

- Add a way to customize the serialization of byte arrays
([#&#8203;1039](https://togithub.com/serde-rs/json/issues/1039))

###
[`v1.0.101`](https://togithub.com/serde-rs/json/releases/tag/v1.0.101)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.100...v1.0.101)

- Allow f32 and f64 as keys in maps
([#&#8203;1027](https://togithub.com/serde-rs/json/issues/1027), thanks
[@&#8203;overdrivenpotato](https://togithub.com/overdrivenpotato))

###
[`v1.0.100`](https://togithub.com/serde-rs/json/releases/tag/v1.0.100)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.99...v1.0.100)

-   Support `-Z minimal-versions`

### [`v1.0.99`](https://togithub.com/serde-rs/json/releases/tag/v1.0.99)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.98...v1.0.99)

- Support serializing serde's **option** type in a map key
([#&#8203;1030](https://togithub.com/serde-rs/json/issues/1030), thanks
[@&#8203;LPGhatguy](https://togithub.com/LPGhatguy))

### [`v1.0.98`](https://togithub.com/serde-rs/json/releases/tag/v1.0.98)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.97...v1.0.98)

- Update indexmap dependency used by "preserve_order" feature to version
2

### [`v1.0.97`](https://togithub.com/serde-rs/json/releases/tag/v1.0.97)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.96...v1.0.97)

- Add `io_error_kind()` method to serde_json::Error: `fn
io_error_kind(&self) -> Option<std::io::ErrorKind>`
([#&#8203;1026](https://togithub.com/serde-rs/json/issues/1026))

### [`v1.0.96`](https://togithub.com/serde-rs/json/releases/tag/v1.0.96)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.95...v1.0.96)

- Guarantee that `to_writer` only writes valid UTF-8 strings
([#&#8203;1011](https://togithub.com/serde-rs/json/issues/1011), thanks
[@&#8203;stepancheg](https://togithub.com/stepancheg))

### [`v1.0.95`](https://togithub.com/serde-rs/json/releases/tag/v1.0.95)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.94...v1.0.95)

- Preserve f32 precision when serializing f32 -> serde_json::Value ->
JSON string in "arbitrary_precision" mode
([#&#8203;1004](https://togithub.com/serde-rs/json/issues/1004),
[#&#8203;1005](https://togithub.com/serde-rs/json/issues/1005))

</details>

<details>
<summary>Stebalien/tempfile (tempfile)</summary>

###
[`v3.9.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#390)

[Compare
Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.1...v3.9.0)

-   Updates windows-sys to 0.52
-   Updates minimum rustix version to 0.38.25

###
[`v3.8.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#381)

[Compare
Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.0...v3.8.1)

- Update rustix to fix a potential panic on `persist_noclobber` on
android.
-   Update redox_syscall to 0.4 (on redox).
-   Fix some docs typos.

</details>

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

###
[`v1.0.56`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.56)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.55...1.0.56)

- Update proc-macro2 to fix caching issue when using a rustc-wrapper
such as sccache

###
[`v1.0.55`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.55)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.54...1.0.55)

- Work around improperly cached build script result by sccache – second
attempt
([#&#8203;280](https://togithub.com/dtolnay/thiserror/issues/280))

###
[`v1.0.54`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.54)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.53...1.0.54)

- Work around improperly cached build script result by sccache – first
attempt
([#&#8203;279](https://togithub.com/dtolnay/thiserror/issues/279))

###
[`v1.0.53`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.53)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.52...1.0.53)

- Reduce spurious rebuilds under RustRover IDE when using a nightly
toolchain
([#&#8203;270](https://togithub.com/dtolnay/thiserror/issues/270))

###
[`v1.0.52`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.52)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.51...1.0.52)

- Fix interaction with RUSTC_BOOTSTRAP
([#&#8203;269](https://togithub.com/dtolnay/thiserror/issues/269))

###
[`v1.0.51`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.51)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.50...1.0.51)

- Improve diagnostics when an invalid attribute previously caused
thiserror to generate no `Error` impl
([#&#8203;266](https://togithub.com/dtolnay/thiserror/issues/266))

###
[`v1.0.50`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.50)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.49...1.0.50)

- Improve diagnostic when a #\[source], #\[from], or #\[transparant]
attribute refers to a type that has no std::error::Error impl
([#&#8203;258](https://togithub.com/dtolnay/thiserror/issues/258),
thanks [@&#8203;de-vri-es](https://togithub.com/de-vri-es))

###
[`v1.0.49`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.49)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.48...1.0.49)

- Access libcore types through `::core` in generated code
([#&#8203;255](https://togithub.com/dtolnay/thiserror/issues/255),
thanks [@&#8203;mina86](https://togithub.com/mina86))

###
[`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

- Improve implementation of displaying Path values in a generated
Display impl
([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251),
thanks [@&#8203;mina86](https://togithub.com/mina86))

###
[`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

- Work around rust-analyzer bug
([rust-lang/rust-analyzer#9911)

###
[`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

- Add bootstrap workaround to allow rustc to depend on thiserror
([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248),
thanks [@&#8203;RalfJung](https://togithub.com/RalfJung))

###
[`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

- Update backtrace support to nightly's new Error::provide API
([rust-lang/rust#113464,
[#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

###
[`v1.0.44`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.44)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.43...1.0.44)

-   Documentation improvements

###
[`v1.0.43`](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43)

###
[`v1.0.42`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.42)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.41...1.0.42)

- Fix compile error in derived Display impl if there was a nonstandard
`write!` macro in scope
([#&#8203;239](https://togithub.com/dtolnay/thiserror/issues/239))

###
[`v1.0.41`](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41)

</details>

<details>
<summary>tokio-rs/tokio (tokio)</summary>

###
[`v1.35.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.35.1):
Tokio v1.35.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.35.0...tokio-1.35.1)

### 1.35.1 (December 19, 2023)

This is a forward part of a change that was backported to 1.25.3.

##### Fixed

- io: add budgeting to `tokio::runtime::io::registration::async_io`
([#&#8203;6221])

[#&#8203;6221]: https://togithub.com/tokio-rs/tokio/pull/6221

###
[`v1.35.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.35.0):
Tokio v1.35.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.34.0...tokio-1.35.0)

### 1.35.0 (December 8th, 2023)

##### Added

-   net: add Apple watchOS support ([#&#8203;6176])

##### Changed

- io: drop the `Sized` requirements from `AsyncReadExt.read_buf`
([#&#8203;6169])
-   runtime: make `Runtime` unwind safe ([#&#8203;6189])
-   runtime: reduce the lock contention in task spawn ([#&#8203;6001])
-   tokio: update nix dependency to 0.27.1 ([#&#8203;6190])

##### Fixed

-   chore: make `--cfg docsrs` work without net feature ([#&#8203;6166])
-   chore: use relaxed load for `unsync_load` on miri ([#&#8203;6179])
-   runtime: handle missing context on wake ([#&#8203;6148])
-   taskdump: fix taskdump cargo config example ([#&#8203;6150])
-   taskdump: skip notified tasks during taskdumps ([#&#8203;6194])
- tracing: avoid creating resource spans with current parent, use a None
parent instead ([#&#8203;6107])
-   tracing: make task span explicit root ([#&#8203;6158])

##### Documented

-   io: flush in `AsyncWriteExt` examples ([#&#8203;6149])
- runtime: document fairness guarantees and current behavior
([#&#8203;6145])
- task: document cancel safety of `LocalSet::run_until` ([#&#8203;6147])

[#&#8203;6001]: https://togithub.com/tokio-rs/tokio/pull/6001

[#&#8203;6107]: https://togithub.com/tokio-rs/tokio/pull/6107

[#&#8203;6144]: https://togithub.com/tokio-rs/tokio/pull/6144

[#&#8203;6145]: https://togithub.com/tokio-rs/tokio/pull/6145

[#&#8203;6147]: https://togithub.com/tokio-rs/tokio/pull/6147

[#&#8203;6148]: https://togithub.com/tokio-rs/tokio/pull/6148

[#&#8203;6149]: https://togithub.com/tokio-rs/tokio/pull/6149

[#&#8203;6150]: https://togithub.com/tokio-rs/tokio/pull/6150

[#&#8203;6158]: https://togithub.com/tokio-rs/tokio/pull/6158

[#&#8203;6166]: https://togithub.com/tokio-rs/tokio/pull/6166

[#&#8203;6169]: https://togithub.com/tokio-rs/tokio/pull/6169

[#&#8203;6176]: https://togithub.com/tokio-rs/tokio/pull/6176

[#&#8203;6179]: https://togithub.com/tokio-rs/tokio/pull/6179

[#&#8203;6189]: https://togithub.com/tokio-rs/tokio/pull/6189

[#&#8203;6190]: https://togithub.com/tokio-rs/tokio/pull/6190

[#&#8203;6194]: https://togithub.com/tokio-rs/tokio/pull/6194

###
[`v1.34.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.34.0):
Tokio v1.34.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.33.0...tokio-1.34.0)

##### Fixed

- io: allow `clear_readiness` after io driver shutdown ([#&#8203;6067])
-   io: fix integer overflow in `take` ([#&#8203;6080])
-   io: fix I/O resource hang ([#&#8203;6134])
-   sync: fix `broadcast::channel` link ([#&#8203;6100])

##### Changed

- macros: use `::core` qualified imports instead of `::std` inside
`tokio::test` macro ([#&#8203;5973])

##### Added

- fs: update cfg attr in `fs::read_dir` to include `aix`
([#&#8203;6075])
-   sync: add `mpsc::Receiver::recv_many` ([#&#8203;6010])
-   tokio: added vita target support ([#&#8203;6094])

[#&#8203;5973]: https://togithub.com/tokio-rs/tokio/pull/5973

[#&#8203;6067]: https://togithub.com/tokio-rs/tokio/pull/6067

[#&#8203;6080]: https://togithub.com/tokio-rs/tokio/pull/6080

[#&#8203;6134]: https://togithub.com/tokio-rs/tokio/pull/6134

[#&#8203;6100]: https://togithub.com/tokio-rs/tokio/pull/6100

[#&#8203;6075]: https://togithub.com/tokio-rs/tokio/pull/6075

[#&#8203;6010]: https://togithub.com/tokio-rs/tokio/pull/6010

[#&#8203;6094]: https://togithub.com/tokio-rs/tokio/pull/6094

###
[`v1.33.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.33.0):
Tokio v1.33.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.32.1...tokio-1.33.0)

### 1.33.0 (October 9, 2023)

##### Fixed

-   io: mark `Interest::add` with `#[must_use]` ([#&#8203;6037])
-   runtime: fix cache line size for RISC-V ([#&#8203;5994])
- sync: prevent lock poisoning in `watch::Receiver::wait_for`
([#&#8203;6021])
-   task: fix `spawn_local` source location ([#&#8203;5984])

##### Changed

- sync: use Acquire/Release orderings instead of SeqCst in `watch`
([#&#8203;6018])

##### Added

-   fs: add vectored writes to `tokio::fs::File` ([#&#8203;5958])
-   io: add `Interest::remove` method ([#&#8203;5906])
-   io: add vectored writes to `DuplexStream` ([#&#8203;5985])
-   net: add Apple tvOS support ([#&#8203;6045])
- sync: add `?Sized` bound to `{MutexGuard,OwnedMutexGuard}::map`
([#&#8203;5997])
- sync: add `watch::Receiver::mark_unseen` ([#&#8203;5962],
[#&#8203;6014], [#&#8203;6017])
-   sync: add `watch::Sender::new` ([#&#8203;5998])
-   sync: add const fn `OnceCell::from_value` ([#&#8203;5903])

##### Removed

-   remove unused `stats` feature ([#&#8203;5952])

##### Documented

- add missing backticks in code examples ([#&#8203;5938],
[#&#8203;6056])
-   fix typos ([#&#8203;5988], [#&#8203;6030])
-   process: document that `Child::wait` is cancel safe ([#&#8203;5977])
- sync: add examples for `Semaphore` ([#&#8203;5939], [#&#8203;5956],
[#&#8203;5978], [#&#8203;6031], [#&#8203;6032], [#&#8203;6050])
- sync: document that `broadcast` capacity is a lower bound
([#&#8203;6042])
-   sync: document that `const_new` is not instrumented ([#&#8203;6002])
- sync: improve cancel-safety documentation for `mpsc::Sender::send`
([#&#8203;5947])
-   sync: improve docs for `watch` channel ([#&#8203;5954])
-   taskdump: render taskdump documentation on docs.rs ([#&#8203;5972])

##### Unstable

-   taskdump: fix potential deadlock ([#&#8203;6036])

[#&#8203;5903]: https://togithub.com/tokio-rs/tokio/pull/5903

[#&#8203;5906]: https://togithub.com/tokio-rs/tokio/pull/5906

[#&#8203;5938]: https://togithub.com/tokio-rs/tokio/pull/5938

[#&#8203;5939]: https://togithub.com/tokio-rs/tokio/pull/5939

[#&#8203;5947]: https://togithub.com/tokio-rs/tokio/pull/5947

[#&#8203;5952]: https://togithub.com/tokio-rs/tokio/pull/5952

[#&#8203;5954]: https://togithub.com/tokio-rs/tokio/pull/5954

[#&#8203;5956]: https://togithub.com/tokio-rs/tokio/pull/5956

[#&#8203;5958]: https://togithub.com/tokio-rs/tokio/pull/5958

[#&#8203;5960]: https://togithub.com/tokio-rs/tokio/pull/5960

[#&#8203;5962]: https://togithub.com/tokio-rs/tokio/pull/5962

[#&#8203;5971]: https://togithub.com/tokio-rs/tokio/pull/5971

[#&#8203;5972]: https://togithub.com/tokio-rs/tokio/pull/5972

[#&#8203;5977]: https://togithub.com/tokio-rs/tokio/pull/5977

[#&#8203;5978]: https://togithub.com/tokio-rs/tokio/pull/5978

[#&#8203;5984]: https://togithub.com/tokio-rs/tokio/pull/5984

[#&#8203;5985]: https://togithub.com/tokio-rs/tokio/pull/5985

[#&#8203;5988]: https://togithub.com/tokio-rs/tokio/pull/5988

[#&#8203;5994]: https://togithub.com/tokio-rs/tokio/pull/5994

[#&#8203;5997]: https://togithub.com/tokio-rs/tokio/pull/5997

[#&#8203;5998]: https://togithub.com/tokio-rs/tokio/pull/5998

[#&#8203;6002]: https://togithub.com/tokio-rs/tokio/pull/6002

[#&#8203;6014]: https://togithub.com/tokio-rs/tokio/pull/6014

[#&#8203;6017]: https://togithub.com/tokio-rs/tokio/pull/6017

[#&#8203;6018]: https://togithub.com/tokio-rs/tokio/pull/6018

[#&#8203;6021]: https://togithub.com/tokio-rs/tokio/pull/6021

[#&#8203;6030]: https://togithub.com/tokio-rs/tokio/pull/6030

[#&#8203;6031]: https://togithub.com/tokio-rs/tokio/pull/6031

[#&#8203;6032]: https://togithub.com/tokio-rs/tokio/pull/6032

[#&#8203;6036]: https://togithub.com/tokio-rs/tokio/pull/6036

[#&#8203;6037]: https://togithub.com/tokio-rs/tokio/pull/6037

[#&#8203;6042]: https://togithub.com/tokio-rs/tokio/pull/6042

[#&#8203;6045]: https://togithub.com/tokio-rs/tokio/pull/6045

[#&#8203;6050]: https://togithub.com/tokio-rs/tokio/pull/6050

[#&#8203;6056]: https://togithub.com/tokio-rs/tokio/pull/6056

[#&#8203;6058]: https://togithub.com/tokio-rs/tokio/pull/6058

###
[`v1.32.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.32.1):
Tokio v1.32.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.32.0...tokio-1.32.1)

### 1.32.1 (December 19, 2023)

This is a forward part of a change that was backported to 1.25.3.

##### Fixed

- io: add budgeting to `tokio::runtime::io::registration::async_io`
([#&#8203;6221])

[#&#8203;6221]: https://togithub.com/tokio-rs/tokio/pull/6221

###
[`v1.32.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.32.0):
Tokio v1.32.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.31.0...tokio-1.32.0)

##### Fixed

- sync: fix potential quadratic behavior in `broadcast::Receiver`
([#&#8203;5925])

##### Added

-   process: stabilize `Command::raw_arg` ([#&#8203;5930])
-   io: enable awaiting error readiness ([#&#8203;5781])

##### Unstable

- rt(alt): improve the scalability of alt runtime as the number of cores
grows ([#&#8203;5935])

[#&#8203;5925]: https://togithub.com/tokio-rs/tokio/pull/5925

[#&#8203;5930]: https://togithub.com/tokio-rs/tokio/pull/5930

[#&#8203;5781]: https://togithub.com/tokio-rs/tokio/pull/5781

[#&#8203;5935]: https://togithub.com/tokio-rs/tokio/pull/5935

###
[`v1.31.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.31.0):
Tokio v1.31.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.30.0...tokio-1.31.0)

##### Fixed

-   io: delegate `WriteHalf::poll_write_vectored` ([#&#8203;5914])

##### Unstable

- rt(unstable): fix memory leak in unstable next-gen scheduler prototype
([#&#8203;5911])
-   rt: expose mean task poll time metric ([#&#8203;5927])

[#&#8203;5914]: https://togithub.com/tokio-rs/tokio/pull/5914

[#&#8203;5911]: https://togithub.com/tokio-rs/tokio/pull/5911

[#&#8203;5927]: https://togithub.com/tokio-rs/tokio/pull/5927

###
[`v1.30.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.30.0):
Tokio v1.30.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.29.1...tokio-1.30.0)

### 1.30.0 (August 9, 2023)

This release bumps the MSRV of Tokio to 1.63. ([#&#8203;5887])

##### Changed

-   tokio: reduce LLVM code generation ([#&#8203;5859])
- io: support `--cfg mio_unsupported_force_poll_poll` flag
([#&#8203;5881])
-   sync: make `const_new` methods always available ([#&#8203;5885])
-   sync: avoid false sharing in mpsc channel ([#&#8203;5829])
-   rt: pop at least one task from inject queue ([#&#8203;5908])

##### Added

-   sync: add `broadcast::Sender::new` ([#&#8203;5824])
-   net: implement `UCred` for espidf ([#&#8203;5868])
-   fs: add `File::options()` ([#&#8203;5869])
-   time: implement extra reset variants for `Interval` ([#&#8203;5878])
-   process: add `{ChildStd*}::into_owned_{fd, handle}` ([#&#8203;5899])

##### Removed

-   tokio: removed unused `tokio_*` cfgs ([#&#8203;5890])
-   remove build script to speed up compilation ([#&#8203;5887])

##### Documented

-   sync: mention lagging in docs for `broadcast::send` ([#&#8203;5820])
-   runtime: expand on sharing runtime docs ([#&#8203;5858])
- io: use vec in example for `AsyncReadExt::read_exact` ([#&#8203;5863])
-   time: mark `Sleep` as `!Unpin` in docs ([#&#8203;5916])
-   process: fix `raw_arg` not showing up in docs ([#&#8203;5865])

##### Unstable

-   rt: add runtime ID ([#&#8203;5864])
-   rt: initial implementation of new threaded runtime ([#&#8203;5823])

[#&#8203;5820]: https://togithub.com/tokio-rs/tokio/pull/5820

[#&#8203;5823]: https://togithub.com/tokio-rs/tokio/pull/5823

[#&#8203;5824]: https://togithub.com/tokio-rs/tokio/pull/5824

[#&#8203;5829]: https://togithub.com/tokio-rs/tokio/pull/5829

[#&#8203;5858]: https://togithub.com/tokio-rs/tokio/pull/5858

[#&#8203;5859]: https://togithub.com/tokio-rs/tokio/pull/5859

[#&#8203;5863]: https://togithub.com/tokio-rs/tokio/pull/5863

[#&#8203;5864]: https://togithub.com/tokio-rs/tokio/pull/5864

[#&#8203;5865]: https://togithub.com/tokio-rs/tokio/pull/5865

[#&#8203;5868]: https://togithub.com/tokio-rs/tokio/pull/5868

[#&#8203;5869]: https://togithub.com/tokio-rs/tokio/pull/5869

[#&#8203;5878]: https://togithub.com/tokio-rs/tokio/pull/5878

[#&#8203;5881]: https://togithub.com/tokio-rs/tokio/pull/5881

[#&#8203;5885]: https://togithub.com/tokio-rs/tokio/pull/5885

[#&#8203;5887]: https://togithub.com/tokio-rs/tokio/pull/5887

[#&#8203;5890]: https://togithub.com/tokio-rs/tokio/pull/5890

[#&#8203;5899]: https://togithub.com/tokio-rs/tokio/pull/5899

[#&#8203;5908]: https://togithub.com/tokio-rs/tokio/pull/5908

[#&#8203;5916]: https://togithub.com/tokio-rs/tokio/pull/5916

###
[`v1.29.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.29.1):
Tokio v1.29.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.29.0...tokio-1.29.1)

##### Fixed

- rt: fix nesting two `block_in_place` with a `block_on` between
([#&#8203;5837])

[#&#8203;5837]: https://togithub.com/tokio-rs/tokio/pull/5837

###
[`v1.29.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.29.0):
Tokio v1.29.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.28.2...tokio-1.29.0)

Technically a breaking change, the `Send` implementation is removed from
`runtime::EnterGuard`. This change fixes a bug and should not impact
most users.

##### Breaking

-   rt: `EnterGuard` should not be `Send` ([#&#8203;5766])

##### Fixed

-   fs: reduce blocking ops in `fs::read_dir` ([#&#8203;5653])
-   rt: fix possible starvation ([#&#8203;5686], [#&#8203;5712])
-   rt: fix stacked borrows issue in `JoinSet` ([#&#8203;5693])
-   rt: panic if `EnterGuard` dropped incorrect order ([#&#8203;5772])
-   time: do not overflow to signal value ([#&#8203;5710])
-   fs: wait for in-flight ops before cloning `File` ([#&#8203;5803])

##### Changed

- rt: reduce time to poll tasks scheduled from outside the runtime
([#&#8203;5705], [#&#8203;5720])

##### Added

-   net: add uds doc alias for unix sockets ([#&#8203;5659])
-   rt: add metric for number of tasks ([#&#8203;5628])
-   sync: implement more traits for channel errors ([#&#8203;5666])
-   net: add nodelay methods on TcpSocket ([#&#8203;5672])
-   sync: add `broadcast::Receiver::blocking_recv` ([#&#8203;5690])
-   process: add `raw_arg` method to `Command` ([#&#8203;5704])
-   io: support PRIORITY epoll events ([#&#8203;5566])
-   task: add `JoinSet::poll_join_next` ([#&#8203;5721])
-   net: add support for Redox OS ([#&#8203;5790])

##### Unstable

- rt: add the ability to dump task backtraces ([#&#8203;5608],
[#&#8203;5676], [#&#8203;5708], [#&#8203;5717])
-   rt: instrument task poll times with a histogram ([#&#8203;5685])

[#&#8203;5766]: https://togithub.com/tokio-rs/tokio/pull/5766

[#&#8203;5653]: https://togithub.com/tokio-rs/tokio/pull/5653

[#&#8203;5686]: https://togithub.com/tokio-rs/tokio/pull/5686

[#&#8203;5712]: https://togithub.com/tokio-rs/tokio/pull/5712

[#&#8203;5693]: https://togithub.com/tokio-rs/tokio/pull/5693

[#&#8203;5772]: https://togithub.com/tokio-rs/tokio/pull/5772

[#&#8203;5710]: https://togithub.com/tokio-rs/tokio/pull/5710

[#&#8203;5803]: https://togithub.com/tokio-rs/tokio/pull/5803

[#&#8203;5705]: https://togithub.com/tokio-rs/tokio/pull/5705

[#&#8203;5720]: https://togithub.com/tokio-rs/tokio/pull/5720

[#&#8203;5659]: https://togithub.com/tokio-rs/tokio/pull/5659

[#&#8203;5628]: https://togithub.com/tokio-rs/tokio/pull/5628

[#&#8203;5666]: https://togithub.com/tokio-rs/tokio/pull/5666

[#&#8203;5672]: https://togithub.com/tokio-rs/tokio/pull/5672

[#&#8203;5690]: https://togithub.com/tokio-rs/tokio/pull/5690

[#&#8203;5704]: https://togithub.com/tokio-rs/tokio/pull/5704

[#&#8203;5566]: https://togithub.com/tokio-rs/tokio/pull/5566

[#&#8203;5721]: https://togithub.com/tokio-rs/tokio/pull/5721

[#&#8203;5790]: https://togithub.com/tokio-rs/tokio/pull/5790

[#&#8203;5608]: https://togithub.com/tokio-rs/tokio/pull/5608

[#&#8203;5676]: https://togithub.com/tokio-rs/tokio/pull/5676

[#&#8203;5708]: https://togithub.com/tokio-rs/tokio/pull/5708

[#&#8203;5717]: https://togithub.com/tokio-rs/tokio/pull/5717

[#&#8203;5685]: https://togithub.com/tokio-rs/tokio/pull/5685

###
[`v1.28.2`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.28.2):
Tokio v1.28.2

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.28.1...tokio-1.28.2)

### 1.28.2 (May 28, 2023)

Forward ports 1.18.6 changes.

##### Fixed

-   deps: disable default features for mio ([#&#8203;5728])

[#&#8203;5728]: https://togithub.com/tokio-rs/tokio/pull/5728

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/apollographql/federation-rs).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNy4xIiwidXBkYXRlZEluVmVyIjoiMzcuMTIxLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
trevor-scheer pushed a commit to apollographql/federation-rs that referenced this pull request Jan 19, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | dependencies | patch |
`1.0.75` -> `1.0.79` |
| [async-channel](https://togithub.com/smol-rs/async-channel) |
dependencies | minor | `1.8.0` -> `1.9.0` |
| [insta](https://insta.rs/)
([source](https://togithub.com/mitsuhiko/insta)) | dev-dependencies |
patch | `1.28.0` -> `1.34.0` |
| [serde](https://serde.rs)
([source](https://togithub.com/serde-rs/serde)) | dependencies | patch |
`1.0.158` -> `1.0.195` |
| [serde_json](https://togithub.com/serde-rs/json) | dependencies |
patch | `1.0.94` -> `1.0.111` |
| [tempfile](https://stebalien.com/projects/tempfile-rs/)
([source](https://togithub.com/Stebalien/tempfile)) | dependencies |
minor | `3.4` -> `3.9` |
| [thiserror](https://togithub.com/dtolnay/thiserror) | dependencies |
patch | `1.0.40` -> `1.0.56` |
| [tokio](https://tokio.rs)
([source](https://togithub.com/tokio-rs/tokio)) | dependencies | minor |
`1.24.2` -> `1.35.1` |
| [which](https://togithub.com/harryfei/which-rs) | build-dependencies |
patch | `4.4.0` -> `4.4.2` |

---

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.78...1.0.79)

- Work around improperly cached build script result by sccache
([#&#8203;340](https://togithub.com/dtolnay/anyhow/issues/340))

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.77...1.0.78)

- Reduce spurious rebuilds under RustRover IDE when using a nightly
toolchain
([#&#8203;337](https://togithub.com/dtolnay/anyhow/issues/337))

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.76...1.0.77)

- Make `anyhow::Error::backtrace` available on stable Rust compilers
1.65+ ([#&#8203;293](https://togithub.com/dtolnay/anyhow/issues/293),
thanks [@&#8203;LukasKalbertodt](https://togithub.com/LukasKalbertodt))

[Compare
Source](https://togithub.com/dtolnay/anyhow/compare/1.0.75...1.0.76)

- Opt in to `unsafe_op_in_unsafe_fn` lint
([#&#8203;329](https://togithub.com/dtolnay/anyhow/issues/329))

</details>

<details>
<summary>smol-rs/async-channel (async-channel)</summary>

[`v1.9.0`](https://togithub.com/smol-rs/async-channel/blob/HEAD/CHANGELOG.md#Version-190)

[Compare
Source](https://togithub.com/smol-rs/async-channel/compare/v1.8.0...v1.9.0)

- Fix a bug where `WeakSender/WeakReceiver` could incorrectly return
`Some` even if the channel is already closed
([#&#8203;60](https://togithub.com/smol-rs/async-channel/issues/60))
- Remove the unnecessary `T: Clone` bound from
`WeakSender/WeakReceiver`'s `Clone` implementation
([#&#8203;62](https://togithub.com/smol-rs/async-channel/issues/62))

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

[`v1.0.195`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.195)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.194...v1.0.195)

- Prevent remote definitions of tuple struct or tuple variant from
triggering dead_code warning
([#&#8203;2671](https://togithub.com/serde-rs/serde/issues/2671))

[`v1.0.194`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.194)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.193...v1.0.194)

- Update proc-macro2 to fix caching issue when using a rustc-wrapper
such as sccache

[`v1.0.193`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.193)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.192...v1.0.193)

- Fix field names used for the deserialization of `RangeFrom` and
`RangeTo`
([#&#8203;2653](https://togithub.com/serde-rs/serde/issues/2653),
[#&#8203;2654](https://togithub.com/serde-rs/serde/issues/2654),
[#&#8203;2655](https://togithub.com/serde-rs/serde/issues/2655), thanks
[@&#8203;emilbonnek](https://togithub.com/emilbonnek))

[`v1.0.192`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.192)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.191...v1.0.192)

- Allow internal tag field in untagged variant
([#&#8203;2646](https://togithub.com/serde-rs/serde/issues/2646), thanks
[@&#8203;robsdedude](https://togithub.com/robsdedude))

[`v1.0.191`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.191)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.190...v1.0.191)

-   Documentation improvements

[`v1.0.190`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.190)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.189...v1.0.190)

- Preserve NaN sign when deserializing f32 from f64 or vice versa
([#&#8203;2637](https://togithub.com/serde-rs/serde/issues/2637))

[`v1.0.189`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.189)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.188...v1.0.189)

- Fix "cannot infer type" error when internally tagged enum contains
untagged variant
([#&#8203;2613](https://togithub.com/serde-rs/serde/issues/2613), thanks
[@&#8203;ahl](https://togithub.com/ahl))

[`v1.0.188`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.188)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.187...v1.0.188)

- Fix *"failed to parse manifest"* error when building serde using a
Cargo version between 1.45 and 1.50
([#&#8203;2603](https://togithub.com/serde-rs/serde/issues/2603))

[`v1.0.187`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.187)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.186...v1.0.187)

- Remove support for Emscripten targets on rustc older than 1.40
([#&#8203;2600](https://togithub.com/serde-rs/serde/issues/2600))

[`v1.0.186`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.186)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.185...v1.0.186)

- Disallow incompatible versions of `serde_derive` and `serde` in the
dependency graph
([#&#8203;2588](https://togithub.com/serde-rs/serde/issues/2588), thanks
[@&#8203;soqb](https://togithub.com/soqb))

[`v1.0.185`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.185)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.184...v1.0.185)

- Fix error *"cannot move out of `*self` which is behind a shared
reference"* deriving Serialize on a non_exhaustive enum
([#&#8203;2591](https://togithub.com/serde-rs/serde/issues/2591))

[`v1.0.184`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.184)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.183...v1.0.184)

- Restore from-source `serde_derive` build on all platforms — eventually
we'd like to use a first-class precompiled macro if such a thing becomes
supported by cargo / crates.io

[`v1.0.183`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.183)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.182...v1.0.183)

- Support deserializing `Box<OsStr>` with an equivalent representation
as `OsString`
([#&#8203;2556](https://togithub.com/serde-rs/serde/issues/2556), thanks
[@&#8203;DBLouis](https://togithub.com/DBLouis))

[`v1.0.182`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.182)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.181...v1.0.182)

- Render field aliases in sorted order in error messages
([#&#8203;2458](https://togithub.com/serde-rs/serde/issues/2458), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
- Support `serde(default)` on tuple structs
([#&#8203;2553](https://togithub.com/serde-rs/serde/issues/2553), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

[`v1.0.181`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.181)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.180...v1.0.181)

- Make `serde(alias)` work in combination with `flatten` when using
in-place deserialization
([#&#8203;2443](https://togithub.com/serde-rs/serde/issues/2443), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
- Improve the representation of adjacently tagged enums in formats where
enum tags are serialized by index, as opposed to by string name
([#&#8203;2505](https://togithub.com/serde-rs/serde/issues/2505),
[#&#8203;2496](https://togithub.com/serde-rs/serde/issues/2496), thanks
[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))

[`v1.0.180`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.180)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.179...v1.0.180)

-   Update to 2018 edition

[`v1.0.179`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.179)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.178...v1.0.179)

- Support serialization of tuple variants inside a flattened field
([#&#8203;2448](https://togithub.com/serde-rs/serde/issues/2448), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

[`v1.0.178`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.178)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.177...v1.0.178)

- Fix build error when using serde with "std" feature turned off and
"unstable" feature turned on
([#&#8203;2541](https://togithub.com/serde-rs/serde/issues/2541))

[`v1.0.177`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.177)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.176...v1.0.177)

- Add `serde(rename_all_fields = "...")` attribute to apply a
`rename_all` on every struct variant of an enum
([#&#8203;1695](https://togithub.com/serde-rs/serde/issues/1695), thanks
[@&#8203;jplatte](https://togithub.com/jplatte))
- Improve diagnostics for attribute parse errors
([#&#8203;2536](https://togithub.com/serde-rs/serde/issues/2536), thanks
[@&#8203;jplatte](https://togithub.com/jplatte))

[`v1.0.176`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.176)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.175...v1.0.176)

- Allow tag field of an internally tagged enum to have same name as a
field inside a skipped struct variant
([#&#8203;2266](https://togithub.com/serde-rs/serde/issues/2266), thanks
[@&#8203;flisky](https://togithub.com/flisky))

[`v1.0.175`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.175)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.174...v1.0.175)

- Restore missing LICENSE files in serde_derive crate
([#&#8203;2527](https://togithub.com/serde-rs/serde/issues/2527), thanks
[@&#8203;ankane](https://togithub.com/ankane))

[`v1.0.174`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.174)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.173...v1.0.174)

-   Documentation improvements

[`v1.0.173`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.173)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.172...v1.0.173)

- Fix missing trait implementations when using serde derive macro on a
macro-generated data structure, such as via the `bitflags` crate
([#&#8203;2516](https://togithub.com/serde-rs/serde/issues/2516))

[`v1.0.172`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.172)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.171...v1.0.172)

- Experiment with precompiling the serde_derive macros to reduce build
time ([#&#8203;2514](https://togithub.com/serde-rs/serde/issues/2514))

[`v1.0.171`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.171)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.170...v1.0.171)

- Support `derive(Deserialize)` on unit structs that have const generics
([#&#8203;2500](https://togithub.com/serde-rs/serde/issues/2500), thanks
[@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))

[`v1.0.170`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.170)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.169...v1.0.170)

- Produce error message on suffixed string literals inside serde
attributes
([#&#8203;2242](https://togithub.com/serde-rs/serde/issues/2242))
- Support single identifier as unbraced default value for const generic
parameter
([#&#8203;2449](https://togithub.com/serde-rs/serde/issues/2449))

[`v1.0.169`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.169)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.168...v1.0.169)

- Add Deserializer::deserialize_identifier support for adjacently tagged
enums ([#&#8203;2475](https://togithub.com/serde-rs/serde/issues/2475),
thanks [@&#8203;Baptistemontan](https://togithub.com/Baptistemontan))
- Fix unused_braces lint in generated Deserialize impl that uses braced
const generic expressions
([#&#8203;2414](https://togithub.com/serde-rs/serde/issues/2414))

[`v1.0.168`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.168)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.167...v1.0.168)

- Allow `serde::de::IgnoredAny` to be the type for a `serde(flatten)`
field ([#&#8203;2436](https://togithub.com/serde-rs/serde/issues/2436),
thanks [@&#8203;Mingun](https://togithub.com/Mingun))
- Allow larger preallocated capacity for smaller elements
([#&#8203;2494](https://togithub.com/serde-rs/serde/issues/2494))

[`v1.0.167`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.167)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.166...v1.0.167)

- Add serialize and deserialize impls for `RangeFrom` and `RangeTo`
([#&#8203;2471](https://togithub.com/serde-rs/serde/issues/2471), thanks
[@&#8203;tbu-](https://togithub.com/tbu-))

[`v1.0.166`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.166)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.165...v1.0.166)

-   Add `no-alloc` category to crates.io metadata

[`v1.0.165`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.165)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.164...v1.0.165)

- Fix incorrect count of fields passed to tuple deserialization methods
when using `serde(skip_deserializing)` attributes
([#&#8203;2466](https://togithub.com/serde-rs/serde/issues/2466), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
-   Fix `-Zminimal-versions` build

[`v1.0.164`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.164)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.163...v1.0.164)

- Allowed enum variants to be individually marked as untagged
([#&#8203;2403](https://togithub.com/serde-rs/serde/issues/2403), thanks
[@&#8203;dewert99](https://togithub.com/dewert99))

[`v1.0.163`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.163)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.162...v1.0.163)

- Eliminate build script from serde_derive crate to slightly reduce
build time
([#&#8203;2442](https://togithub.com/serde-rs/serde/issues/2442), thanks
[@&#8203;taiki-e](https://togithub.com/taiki-e))

[`v1.0.162`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.162)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.161...v1.0.162)

- Support deserializing flattened adjacently tagged enums from data
formats which represent fields as bytes, such as the `csv` crate
([#&#8203;2377](https://togithub.com/serde-rs/serde/issues/2377), thanks
[@&#8203;mfro](https://togithub.com/mfro))

    ```rust
    #[derive(Deserialize)]
    pub struct Record {
        common: u64,
        #[serde(flatten)]
        kind: Kind,
    }

    #[derive(Deserialize)]
    enum Kind {
        Foo(u64),
        Bar(bool),
    }
    ```

    ```csv
    common,kind,parameter
    1,foo,42
    2,bar,true
    ```

[`v1.0.161`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.161)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.160...v1.0.161)

- Improve error messages produced by serde_test on test failure
([#&#8203;2435](https://togithub.com/serde-rs/serde/issues/2435), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

[`v1.0.160`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.160)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.159...v1.0.160)

- Make derived serializer/deserializer internals `doc(hidden)`
([#&#8203;2426](https://togithub.com/serde-rs/serde/issues/2426), thanks
[@&#8203;compiler-errors](https://togithub.com/compiler-errors))

[`v1.0.159`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.159)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.158...v1.0.159)

- Accept empty #\[serde()] attribute
([#&#8203;2422](https://togithub.com/serde-rs/serde/issues/2422))

</details>

<details>
<summary>serde-rs/json (serde_json)</summary>

[`v1.0.111`](https://togithub.com/serde-rs/json/releases/tag/v1.0.111)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.110...v1.0.111)

- Improve floating point parsing performance on loongarch64
([#&#8203;1100](https://togithub.com/serde-rs/json/issues/1100), thanks
[@&#8203;heiher](https://togithub.com/heiher))

[`v1.0.110`](https://togithub.com/serde-rs/json/compare/v1.0.109...v1.0.110)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.109...v1.0.110)

[`v1.0.109`](https://togithub.com/serde-rs/json/releases/tag/v1.0.109)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.108...v1.0.109)

-   Documentation improvements

[`v1.0.108`](https://togithub.com/serde-rs/json/releases/tag/v1.0.108)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.107...v1.0.108)

- Documentation improvements
([#&#8203;1075](https://togithub.com/serde-rs/json/issues/1075),
[#&#8203;1081](https://togithub.com/serde-rs/json/issues/1081),
[#&#8203;1082](https://togithub.com/serde-rs/json/issues/1082), thanks
[@&#8203;dimo414](https://togithub.com/dimo414) and
[@&#8203;fritzrehde](https://togithub.com/fritzrehde))

[`v1.0.107`](https://togithub.com/serde-rs/json/releases/tag/v1.0.107)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.106...v1.0.107)

- impl IntoDeserializer for \&RawValue
([#&#8203;1071](https://togithub.com/serde-rs/json/issues/1071))

[`v1.0.106`](https://togithub.com/serde-rs/json/releases/tag/v1.0.106)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.105...v1.0.106)

- Add `Value::as_number` accessor
([#&#8203;1069](https://togithub.com/serde-rs/json/issues/1069), thanks
[@&#8203;chanced](https://togithub.com/chanced))
- Add `Number::as_str` accessor under "arbitrary_precision" feature
([#&#8203;1067](https://togithub.com/serde-rs/json/issues/1067), thanks
[@&#8203;chanced](https://togithub.com/chanced))

[`v1.0.105`](https://togithub.com/serde-rs/json/releases/tag/v1.0.105)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.104...v1.0.105)

- Support bool in map keys
([#&#8203;1054](https://togithub.com/serde-rs/json/issues/1054))

[`v1.0.104`](https://togithub.com/serde-rs/json/releases/tag/v1.0.104)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.103...v1.0.104)

- Provide IntoDeserializer impl for \&serde_json::Value
([#&#8203;1045](https://togithub.com/serde-rs/json/issues/1045), thanks
[@&#8203;ZetaNumbers](https://togithub.com/ZetaNumbers))

[`v1.0.103`](https://togithub.com/serde-rs/json/releases/tag/v1.0.103)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.102...v1.0.103)

-   Documentation improvements

[`v1.0.102`](https://togithub.com/serde-rs/json/releases/tag/v1.0.102)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.101...v1.0.102)

- Add a way to customize the serialization of byte arrays
([#&#8203;1039](https://togithub.com/serde-rs/json/issues/1039))

[`v1.0.101`](https://togithub.com/serde-rs/json/releases/tag/v1.0.101)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.100...v1.0.101)

- Allow f32 and f64 as keys in maps
([#&#8203;1027](https://togithub.com/serde-rs/json/issues/1027), thanks
[@&#8203;overdrivenpotato](https://togithub.com/overdrivenpotato))

[`v1.0.100`](https://togithub.com/serde-rs/json/releases/tag/v1.0.100)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.99...v1.0.100)

-   Support `-Z minimal-versions`

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.98...v1.0.99)

- Support serializing serde's **option** type in a map key
([#&#8203;1030](https://togithub.com/serde-rs/json/issues/1030), thanks
[@&#8203;LPGhatguy](https://togithub.com/LPGhatguy))

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.97...v1.0.98)

- Update indexmap dependency used by "preserve_order" feature to version
2

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.96...v1.0.97)

- Add `io_error_kind()` method to serde_json::Error: `fn
io_error_kind(&self) -> Option<std::io::ErrorKind>`
([#&#8203;1026](https://togithub.com/serde-rs/json/issues/1026))

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.95...v1.0.96)

- Guarantee that `to_writer` only writes valid UTF-8 strings
([#&#8203;1011](https://togithub.com/serde-rs/json/issues/1011), thanks
[@&#8203;stepancheg](https://togithub.com/stepancheg))

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.94...v1.0.95)

- Preserve f32 precision when serializing f32 -> serde_json::Value ->
JSON string in "arbitrary_precision" mode
([#&#8203;1004](https://togithub.com/serde-rs/json/issues/1004),
[#&#8203;1005](https://togithub.com/serde-rs/json/issues/1005))

</details>

<details>
<summary>Stebalien/tempfile (tempfile)</summary>

[`v3.9.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#390)

[Compare
Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.1...v3.9.0)

-   Updates windows-sys to 0.52
-   Updates minimum rustix version to 0.38.25

[`v3.8.1`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#381)

[Compare
Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.0...v3.8.1)

- Update rustix to fix a potential panic on `persist_noclobber` on
android.
-   Update redox_syscall to 0.4 (on redox).
-   Fix some docs typos.

</details>

<details>
<summary>dtolnay/thiserror (thiserror)</summary>

[`v1.0.56`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.56)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.55...1.0.56)

- Update proc-macro2 to fix caching issue when using a rustc-wrapper
such as sccache

[`v1.0.55`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.55)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.54...1.0.55)

- Work around improperly cached build script result by sccache – second
attempt
([#&#8203;280](https://togithub.com/dtolnay/thiserror/issues/280))

[`v1.0.54`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.54)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.53...1.0.54)

- Work around improperly cached build script result by sccache – first
attempt
([#&#8203;279](https://togithub.com/dtolnay/thiserror/issues/279))

[`v1.0.53`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.53)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.52...1.0.53)

- Reduce spurious rebuilds under RustRover IDE when using a nightly
toolchain
([#&#8203;270](https://togithub.com/dtolnay/thiserror/issues/270))

[`v1.0.52`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.52)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.51...1.0.52)

- Fix interaction with RUSTC_BOOTSTRAP
([#&#8203;269](https://togithub.com/dtolnay/thiserror/issues/269))

[`v1.0.51`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.51)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.50...1.0.51)

- Improve diagnostics when an invalid attribute previously caused
thiserror to generate no `Error` impl
([#&#8203;266](https://togithub.com/dtolnay/thiserror/issues/266))

[`v1.0.50`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.50)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.49...1.0.50)

- Improve diagnostic when a #\[source], #\[from], or #\[transparant]
attribute refers to a type that has no std::error::Error impl
([#&#8203;258](https://togithub.com/dtolnay/thiserror/issues/258),
thanks [@&#8203;de-vri-es](https://togithub.com/de-vri-es))

[`v1.0.49`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.49)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.48...1.0.49)

- Access libcore types through `::core` in generated code
([#&#8203;255](https://togithub.com/dtolnay/thiserror/issues/255),
thanks [@&#8203;mina86](https://togithub.com/mina86))

[`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

- Improve implementation of displaying Path values in a generated
Display impl
([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251),
thanks [@&#8203;mina86](https://togithub.com/mina86))

[`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

- Work around rust-analyzer bug
([rust-lang/rust-analyzer#9911)

[`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)

- Add bootstrap workaround to allow rustc to depend on thiserror
([#&#8203;248](https://togithub.com/dtolnay/thiserror/issues/248),
thanks [@&#8203;RalfJung](https://togithub.com/RalfJung))

[`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)

- Update backtrace support to nightly's new Error::provide API
([rust-lang/rust#113464,
[#&#8203;246](https://togithub.com/dtolnay/thiserror/issues/246))

[`v1.0.44`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.44)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.43...1.0.44)

-   Documentation improvements

[`v1.0.43`](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43)

[`v1.0.42`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.42)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.41...1.0.42)

- Fix compile error in derived Display impl if there was a nonstandard
`write!` macro in scope
([#&#8203;239](https://togithub.com/dtolnay/thiserror/issues/239))

[`v1.0.41`](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41)

[Compare
Source](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41)

</details>

<details>
<summary>tokio-rs/tokio (tokio)</summary>

[`v1.35.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.35.1):
Tokio v1.35.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.35.0...tokio-1.35.1)

This is a forward part of a change that was backported to 1.25.3.

- io: add budgeting to `tokio::runtime::io::registration::async_io`
([#&#8203;6221])

[#&#8203;6221]: https://togithub.com/tokio-rs/tokio/pull/6221

[`v1.35.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.35.0):
Tokio v1.35.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.34.0...tokio-1.35.0)

-   net: add Apple watchOS support ([#&#8203;6176])

- io: drop the `Sized` requirements from `AsyncReadExt.read_buf`
([#&#8203;6169])
-   runtime: make `Runtime` unwind safe ([#&#8203;6189])
-   runtime: reduce the lock contention in task spawn ([#&#8203;6001])
-   tokio: update nix dependency to 0.27.1 ([#&#8203;6190])

-   chore: make `--cfg docsrs` work without net feature ([#&#8203;6166])
-   chore: use relaxed load for `unsync_load` on miri ([#&#8203;6179])
-   runtime: handle missing context on wake ([#&#8203;6148])
-   taskdump: fix taskdump cargo config example ([#&#8203;6150])
-   taskdump: skip notified tasks during taskdumps ([#&#8203;6194])
- tracing: avoid creating resource spans with current parent, use a None
parent instead ([#&#8203;6107])
-   tracing: make task span explicit root ([#&#8203;6158])

-   io: flush in `AsyncWriteExt` examples ([#&#8203;6149])
- runtime: document fairness guarantees and current behavior
([#&#8203;6145])
- task: document cancel safety of `LocalSet::run_until` ([#&#8203;6147])

[#&#8203;6001]: https://togithub.com/tokio-rs/tokio/pull/6001

[#&#8203;6107]: https://togithub.com/tokio-rs/tokio/pull/6107

[#&#8203;6144]: https://togithub.com/tokio-rs/tokio/pull/6144

[#&#8203;6145]: https://togithub.com/tokio-rs/tokio/pull/6145

[#&#8203;6147]: https://togithub.com/tokio-rs/tokio/pull/6147

[#&#8203;6148]: https://togithub.com/tokio-rs/tokio/pull/6148

[#&#8203;6149]: https://togithub.com/tokio-rs/tokio/pull/6149

[#&#8203;6150]: https://togithub.com/tokio-rs/tokio/pull/6150

[#&#8203;6158]: https://togithub.com/tokio-rs/tokio/pull/6158

[#&#8203;6166]: https://togithub.com/tokio-rs/tokio/pull/6166

[#&#8203;6169]: https://togithub.com/tokio-rs/tokio/pull/6169

[#&#8203;6176]: https://togithub.com/tokio-rs/tokio/pull/6176

[#&#8203;6179]: https://togithub.com/tokio-rs/tokio/pull/6179

[#&#8203;6189]: https://togithub.com/tokio-rs/tokio/pull/6189

[#&#8203;6190]: https://togithub.com/tokio-rs/tokio/pull/6190

[#&#8203;6194]: https://togithub.com/tokio-rs/tokio/pull/6194

[`v1.34.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.34.0):
Tokio v1.34.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.33.0...tokio-1.34.0)

- io: allow `clear_readiness` after io driver shutdown ([#&#8203;6067])
-   io: fix integer overflow in `take` ([#&#8203;6080])
-   io: fix I/O resource hang ([#&#8203;6134])
-   sync: fix `broadcast::channel` link ([#&#8203;6100])

- macros: use `::core` qualified imports instead of `::std` inside
`tokio::test` macro ([#&#8203;5973])

- fs: update cfg attr in `fs::read_dir` to include `aix`
([#&#8203;6075])
-   sync: add `mpsc::Receiver::recv_many` ([#&#8203;6010])
-   tokio: added vita target support ([#&#8203;6094])

[#&#8203;5973]: https://togithub.com/tokio-rs/tokio/pull/5973

[#&#8203;6067]: https://togithub.com/tokio-rs/tokio/pull/6067

[#&#8203;6080]: https://togithub.com/tokio-rs/tokio/pull/6080

[#&#8203;6134]: https://togithub.com/tokio-rs/tokio/pull/6134

[#&#8203;6100]: https://togithub.com/tokio-rs/tokio/pull/6100

[#&#8203;6075]: https://togithub.com/tokio-rs/tokio/pull/6075

[#&#8203;6010]: https://togithub.com/tokio-rs/tokio/pull/6010

[#&#8203;6094]: https://togithub.com/tokio-rs/tokio/pull/6094

[`v1.33.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.33.0):
Tokio v1.33.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.32.1...tokio-1.33.0)

-   io: mark `Interest::add` with `#[must_use]` ([#&#8203;6037])
-   runtime: fix cache line size for RISC-V ([#&#8203;5994])
- sync: prevent lock poisoning in `watch::Receiver::wait_for`
([#&#8203;6021])
-   task: fix `spawn_local` source location ([#&#8203;5984])

- sync: use Acquire/Release orderings instead of SeqCst in `watch`
([#&#8203;6018])

-   fs: add vectored writes to `tokio::fs::File` ([#&#8203;5958])
-   io: add `Interest::remove` method ([#&#8203;5906])
-   io: add vectored writes to `DuplexStream` ([#&#8203;5985])
-   net: add Apple tvOS support ([#&#8203;6045])
- sync: add `?Sized` bound to `{MutexGuard,OwnedMutexGuard}::map`
([#&#8203;5997])
- sync: add `watch::Receiver::mark_unseen` ([#&#8203;5962],
[#&#8203;6014], [#&#8203;6017])
-   sync: add `watch::Sender::new` ([#&#8203;5998])
-   sync: add const fn `OnceCell::from_value` ([#&#8203;5903])

-   remove unused `stats` feature ([#&#8203;5952])

- add missing backticks in code examples ([#&#8203;5938],
[#&#8203;6056])
-   fix typos ([#&#8203;5988], [#&#8203;6030])
-   process: document that `Child::wait` is cancel safe ([#&#8203;5977])
- sync: add examples for `Semaphore` ([#&#8203;5939], [#&#8203;5956],
[#&#8203;5978], [#&#8203;6031], [#&#8203;6032], [#&#8203;6050])
- sync: document that `broadcast` capacity is a lower bound
([#&#8203;6042])
-   sync: document that `const_new` is not instrumented ([#&#8203;6002])
- sync: improve cancel-safety documentation for `mpsc::Sender::send`
([#&#8203;5947])
-   sync: improve docs for `watch` channel ([#&#8203;5954])
-   taskdump: render taskdump documentation on docs.rs ([#&#8203;5972])

-   taskdump: fix potential deadlock ([#&#8203;6036])

[#&#8203;5903]: https://togithub.com/tokio-rs/tokio/pull/5903

[#&#8203;5906]: https://togithub.com/tokio-rs/tokio/pull/5906

[#&#8203;5938]: https://togithub.com/tokio-rs/tokio/pull/5938

[#&#8203;5939]: https://togithub.com/tokio-rs/tokio/pull/5939

[#&#8203;5947]: https://togithub.com/tokio-rs/tokio/pull/5947

[#&#8203;5952]: https://togithub.com/tokio-rs/tokio/pull/5952

[#&#8203;5954]: https://togithub.com/tokio-rs/tokio/pull/5954

[#&#8203;5956]: https://togithub.com/tokio-rs/tokio/pull/5956

[#&#8203;5958]: https://togithub.com/tokio-rs/tokio/pull/5958

[#&#8203;5960]: https://togithub.com/tokio-rs/tokio/pull/5960

[#&#8203;5962]: https://togithub.com/tokio-rs/tokio/pull/5962

[#&#8203;5971]: https://togithub.com/tokio-rs/tokio/pull/5971

[#&#8203;5972]: https://togithub.com/tokio-rs/tokio/pull/5972

[#&#8203;5977]: https://togithub.com/tokio-rs/tokio/pull/5977

[#&#8203;5978]: https://togithub.com/tokio-rs/tokio/pull/5978

[#&#8203;5984]: https://togithub.com/tokio-rs/tokio/pull/5984

[#&#8203;5985]: https://togithub.com/tokio-rs/tokio/pull/5985

[#&#8203;5988]: https://togithub.com/tokio-rs/tokio/pull/5988

[#&#8203;5994]: https://togithub.com/tokio-rs/tokio/pull/5994

[#&#8203;5997]: https://togithub.com/tokio-rs/tokio/pull/5997

[#&#8203;5998]: https://togithub.com/tokio-rs/tokio/pull/5998

[#&#8203;6002]: https://togithub.com/tokio-rs/tokio/pull/6002

[#&#8203;6014]: https://togithub.com/tokio-rs/tokio/pull/6014

[#&#8203;6017]: https://togithub.com/tokio-rs/tokio/pull/6017

[#&#8203;6018]: https://togithub.com/tokio-rs/tokio/pull/6018

[#&#8203;6021]: https://togithub.com/tokio-rs/tokio/pull/6021

[#&#8203;6030]: https://togithub.com/tokio-rs/tokio/pull/6030

[#&#8203;6031]: https://togithub.com/tokio-rs/tokio/pull/6031

[#&#8203;6032]: https://togithub.com/tokio-rs/tokio/pull/6032

[#&#8203;6036]: https://togithub.com/tokio-rs/tokio/pull/6036

[#&#8203;6037]: https://togithub.com/tokio-rs/tokio/pull/6037

[#&#8203;6042]: https://togithub.com/tokio-rs/tokio/pull/6042

[#&#8203;6045]: https://togithub.com/tokio-rs/tokio/pull/6045

[#&#8203;6050]: https://togithub.com/tokio-rs/tokio/pull/6050

[#&#8203;6056]: https://togithub.com/tokio-rs/tokio/pull/6056

[#&#8203;6058]: https://togithub.com/tokio-rs/tokio/pull/6058

[`v1.32.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.32.1):
Tokio v1.32.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.32.0...tokio-1.32.1)

This is a forward part of a change that was backported to 1.25.3.

- io: add budgeting to `tokio::runtime::io::registration::async_io`
([#&#8203;6221])

[#&#8203;6221]: https://togithub.com/tokio-rs/tokio/pull/6221

[`v1.32.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.32.0):
Tokio v1.32.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.31.0...tokio-1.32.0)

- sync: fix potential quadratic behavior in `broadcast::Receiver`
([#&#8203;5925])

-   process: stabilize `Command::raw_arg` ([#&#8203;5930])
-   io: enable awaiting error readiness ([#&#8203;5781])

- rt(alt): improve the scalability of alt runtime as the number of cores
grows ([#&#8203;5935])

[#&#8203;5925]: https://togithub.com/tokio-rs/tokio/pull/5925

[#&#8203;5930]: https://togithub.com/tokio-rs/tokio/pull/5930

[#&#8203;5781]: https://togithub.com/tokio-rs/tokio/pull/5781

[#&#8203;5935]: https://togithub.com/tokio-rs/tokio/pull/5935

[`v1.31.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.31.0):
Tokio v1.31.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.30.0...tokio-1.31.0)

-   io: delegate `WriteHalf::poll_write_vectored` ([#&#8203;5914])

- rt(unstable): fix memory leak in unstable next-gen scheduler prototype
([#&#8203;5911])
-   rt: expose mean task poll time metric ([#&#8203;5927])

[#&#8203;5914]: https://togithub.com/tokio-rs/tokio/pull/5914

[#&#8203;5911]: https://togithub.com/tokio-rs/tokio/pull/5911

[#&#8203;5927]: https://togithub.com/tokio-rs/tokio/pull/5927

[`v1.30.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.30.0):
Tokio v1.30.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.29.1...tokio-1.30.0)

This release bumps the MSRV of Tokio to 1.63. ([#&#8203;5887])

-   tokio: reduce LLVM code generation ([#&#8203;5859])
- io: support `--cfg mio_unsupported_force_poll_poll` flag
([#&#8203;5881])
-   sync: make `const_new` methods always available ([#&#8203;5885])
-   sync: avoid false sharing in mpsc channel ([#&#8203;5829])
-   rt: pop at least one task from inject queue ([#&#8203;5908])

-   sync: add `broadcast::Sender::new` ([#&#8203;5824])
-   net: implement `UCred` for espidf ([#&#8203;5868])
-   fs: add `File::options()` ([#&#8203;5869])
-   time: implement extra reset variants for `Interval` ([#&#8203;5878])
-   process: add `{ChildStd*}::into_owned_{fd, handle}` ([#&#8203;5899])

-   tokio: removed unused `tokio_*` cfgs ([#&#8203;5890])
-   remove build script to speed up compilation ([#&#8203;5887])

-   sync: mention lagging in docs for `broadcast::send` ([#&#8203;5820])
-   runtime: expand on sharing runtime docs ([#&#8203;5858])
- io: use vec in example for `AsyncReadExt::read_exact` ([#&#8203;5863])
-   time: mark `Sleep` as `!Unpin` in docs ([#&#8203;5916])
-   process: fix `raw_arg` not showing up in docs ([#&#8203;5865])

-   rt: add runtime ID ([#&#8203;5864])
-   rt: initial implementation of new threaded runtime ([#&#8203;5823])

[#&#8203;5820]: https://togithub.com/tokio-rs/tokio/pull/5820

[#&#8203;5823]: https://togithub.com/tokio-rs/tokio/pull/5823

[#&#8203;5824]: https://togithub.com/tokio-rs/tokio/pull/5824

[#&#8203;5829]: https://togithub.com/tokio-rs/tokio/pull/5829

[#&#8203;5858]: https://togithub.com/tokio-rs/tokio/pull/5858

[#&#8203;5859]: https://togithub.com/tokio-rs/tokio/pull/5859

[#&#8203;5863]: https://togithub.com/tokio-rs/tokio/pull/5863

[#&#8203;5864]: https://togithub.com/tokio-rs/tokio/pull/5864

[#&#8203;5865]: https://togithub.com/tokio-rs/tokio/pull/5865

[#&#8203;5868]: https://togithub.com/tokio-rs/tokio/pull/5868

[#&#8203;5869]: https://togithub.com/tokio-rs/tokio/pull/5869

[#&#8203;5878]: https://togithub.com/tokio-rs/tokio/pull/5878

[#&#8203;5881]: https://togithub.com/tokio-rs/tokio/pull/5881

[#&#8203;5885]: https://togithub.com/tokio-rs/tokio/pull/5885

[#&#8203;5887]: https://togithub.com/tokio-rs/tokio/pull/5887

[#&#8203;5890]: https://togithub.com/tokio-rs/tokio/pull/5890

[#&#8203;5899]: https://togithub.com/tokio-rs/tokio/pull/5899

[#&#8203;5908]: https://togithub.com/tokio-rs/tokio/pull/5908

[#&#8203;5916]: https://togithub.com/tokio-rs/tokio/pull/5916

[`v1.29.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.29.1):
Tokio v1.29.1

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.29.0...tokio-1.29.1)

- rt: fix nesting two `block_in_place` with a `block_on` between
([#&#8203;5837])

[#&#8203;5837]: https://togithub.com/tokio-rs/tokio/pull/5837

[`v1.29.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.29.0):
Tokio v1.29.0

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.28.2...tokio-1.29.0)

Technically a breaking change, the `Send` implementation is removed from
`runtime::EnterGuard`. This change fixes a bug and should not impact
most users.

-   rt: `EnterGuard` should not be `Send` ([#&#8203;5766])

-   fs: reduce blocking ops in `fs::read_dir` ([#&#8203;5653])
-   rt: fix possible starvation ([#&#8203;5686], [#&#8203;5712])
-   rt: fix stacked borrows issue in `JoinSet` ([#&#8203;5693])
-   rt: panic if `EnterGuard` dropped incorrect order ([#&#8203;5772])
-   time: do not overflow to signal value ([#&#8203;5710])
-   fs: wait for in-flight ops before cloning `File` ([#&#8203;5803])

- rt: reduce time to poll tasks scheduled from outside the runtime
([#&#8203;5705], [#&#8203;5720])

-   net: add uds doc alias for unix sockets ([#&#8203;5659])
-   rt: add metric for number of tasks ([#&#8203;5628])
-   sync: implement more traits for channel errors ([#&#8203;5666])
-   net: add nodelay methods on TcpSocket ([#&#8203;5672])
-   sync: add `broadcast::Receiver::blocking_recv` ([#&#8203;5690])
-   process: add `raw_arg` method to `Command` ([#&#8203;5704])
-   io: support PRIORITY epoll events ([#&#8203;5566])
-   task: add `JoinSet::poll_join_next` ([#&#8203;5721])
-   net: add support for Redox OS ([#&#8203;5790])

- rt: add the ability to dump task backtraces ([#&#8203;5608],
[#&#8203;5676], [#&#8203;5708], [#&#8203;5717])
-   rt: instrument task poll times with a histogram ([#&#8203;5685])

[#&#8203;5766]: https://togithub.com/tokio-rs/tokio/pull/5766

[#&#8203;5653]: https://togithub.com/tokio-rs/tokio/pull/5653

[#&#8203;5686]: https://togithub.com/tokio-rs/tokio/pull/5686

[#&#8203;5712]: https://togithub.com/tokio-rs/tokio/pull/5712

[#&#8203;5693]: https://togithub.com/tokio-rs/tokio/pull/5693

[#&#8203;5772]: https://togithub.com/tokio-rs/tokio/pull/5772

[#&#8203;5710]: https://togithub.com/tokio-rs/tokio/pull/5710

[#&#8203;5803]: https://togithub.com/tokio-rs/tokio/pull/5803

[#&#8203;5705]: https://togithub.com/tokio-rs/tokio/pull/5705

[#&#8203;5720]: https://togithub.com/tokio-rs/tokio/pull/5720

[#&#8203;5659]: https://togithub.com/tokio-rs/tokio/pull/5659

[#&#8203;5628]: https://togithub.com/tokio-rs/tokio/pull/5628

[#&#8203;5666]: https://togithub.com/tokio-rs/tokio/pull/5666

[#&#8203;5672]: https://togithub.com/tokio-rs/tokio/pull/5672

[#&#8203;5690]: https://togithub.com/tokio-rs/tokio/pull/5690

[#&#8203;5704]: https://togithub.com/tokio-rs/tokio/pull/5704

[#&#8203;5566]: https://togithub.com/tokio-rs/tokio/pull/5566

[#&#8203;5721]: https://togithub.com/tokio-rs/tokio/pull/5721

[#&#8203;5790]: https://togithub.com/tokio-rs/tokio/pull/5790

[#&#8203;5608]: https://togithub.com/tokio-rs/tokio/pull/5608

[#&#8203;5676]: https://togithub.com/tokio-rs/tokio/pull/5676

[#&#8203;5708]: https://togithub.com/tokio-rs/tokio/pull/5708

[#&#8203;5717]: https://togithub.com/tokio-rs/tokio/pull/5717

[#&#8203;5685]: https://togithub.com/tokio-rs/tokio/pull/5685

[`v1.28.2`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.28.2):
Tokio v1.28.2

[Compare
Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.28.1...tokio-1.28.2)

Forward ports 1.18.6 changes.

-   deps: disable default features for mio ([#&#8203;5728])

[#&#8203;5728]: https://togithub.com/tokio-rs/tokio/pull/5728

</details>

---

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/apollographql/federation-rs).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNy4xIiwidXBkYXRlZEluVmVyIjoiMzcuMTIxLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet