Update Rust crate time to v0.3.40 (#27147)

renovate[bot] and renovate[bot] created

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [time](https://time-rs.github.io)
([source](https://redirect.github.com/time-rs/time)) |
workspace.dependencies | patch | `0.3.37` -> `0.3.40` |

---

### Release Notes

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

###
[`v0.3.40`](https://redirect.github.com/time-rs/time/blob/HEAD/CHANGELOG.md#0340-2025-03-18)

[Compare
Source](https://redirect.github.com/time-rs/time/compare/v0.3.39...v0.3.40)

##### Added

- Visibility modifiers may now be added to the `mod` generated by
`time::sere::format_description!`.

###
[`v0.3.39`](https://redirect.github.com/time-rs/time/blob/HEAD/CHANGELOG.md#0339-2025-03-06)

[Compare
Source](https://redirect.github.com/time-rs/time/compare/v0.3.38...v0.3.39)

##### Fixed

-   Doc tests run successfully with the default feature set.
-   wasm builds work again.

Both of these were regressions in v0.3.38 and are now checked in CI.

###
[`v0.3.38`](https://redirect.github.com/time-rs/time/blob/HEAD/CHANGELOG.md#0338-2025-03-05)

[Compare
Source](https://redirect.github.com/time-rs/time/compare/v0.3.37...v0.3.38)

##### Added

- The `[year]` component (in format descriptions) now supports a `range`
modifier, which can be
either `standard` or `extended`. The default is `extended` for backwards
compatibility. This is
intended as a manner to opt *out* of the extended range when the
`large-dates` feature is enabled.
When the `large-dates` feature is not enabled, the modifier has no
effect.
- `UtcDateTime`, which is semantically equivalent to an `OffsetDateTime`
with UTC as its offset. The
advantage is that it is the same size as a `PrimitiveDateTime` and has
improved operability with
    well-known formats.

    As part of this, there were some other additions:

- `utc_datetime!` macro, which is similar to the `datetime!` macro but
constructs a `UtcDateTime`.
    -   `PrimitiveDateTime::as_utc`
    -   `OffsetDateTime::to_utc`
    -   `OffsetDateTime::checked_to_utc`
- `time::serde::timestamp::milliseconds_i64`, which is a module to
serialize/deserialize timestamps
as the Unix timestamp. The pre-existing module does this as an `i128`
where an `i64` would
    suffice. This new module should be preferred.

##### Changed

- `error::Format` has had its `source()` implementation changed to no
longer return a boxed value
from the `ComponentRange` variant. If you were explicitly expecting
this, you will need to update
    your code. The method API remains unchanged.
-   `[year repr:century]` supports single-digit values.
-   All `format_into` methods accept `?Sized` references.

##### Miscellaneous

- Some non-exhaustive enum variants that are no longer used have been
modified to be statically
proven as uninhabited. The relevant fields are doc-hidden and not
semver-guaranteed to remain as
    such, though it is unlikely to change.
-   An unnecessary check when parsing RFC 2822 has been removed.
- Various methods have had their implementations changed, resulting in
significant performance
    gains. Among the methods changed are
    -   `util::is_leap_year`
    -   `util::weeks_in_year`
    -   `Month::length`
    -   `Date::to_calendar_date`
    -   `Date::month`
    -   `Date::day`
    -   `Date::from_julian_day`
    -   `Date::to_julian_day`
    -   other methods that call into these methods

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, 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

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Change summary

Cargo.lock | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

Detailed changes

Cargo.lock 🔗

@@ -4075,9 +4075,9 @@ dependencies = [
 
 [[package]]
 name = "deranged"
-version = "0.3.11"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
 dependencies = [
  "powerfmt",
  "serde",
@@ -14134,9 +14134,9 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.37"
+version = "0.3.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21"
+checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618"
 dependencies = [
  "deranged",
  "itoa",
@@ -14151,15 +14151,15 @@ dependencies = [
 
 [[package]]
 name = "time-core"
-version = "0.1.2"
+version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
 
 [[package]]
 name = "time-macros"
-version = "0.2.19"
+version = "0.2.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de"
+checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04"
 dependencies = [
  "num-conv",
  "time-core",