Weihang Lo
02c807618d
chore: bump to 0.93.0 ( #16009 )
...
Extract from rust-lang/cargo#15986
2025-09-24 17:20:59 +00:00
Ed Page
b41a16c1ee
fix(config): combine key error context into one ( #16004 )
...
### What does this PR try to resolve?
This is a cleanup of annoying multiple "failed to parse key".
```
Caused by:
failed to parse key `alias`
Caused by:
failed to parse key `nested`
```
to
```
Caused by:
failed to parse config at path `alias.nested`
```
This also open a door to using annotate-snippets to get the span of a
key path.
### How to test and review this PR?
This controversial part is we are using the invalid syntax to represent
the key path.
For example, `alias.nested[2]` refers to
```toml
[alias]
nested = ["a", "b", "c"]
# ^^^ this one
```
r? Muscraft
2025-09-24 16:56:26 +00:00
Weihang Lo
bd93d31b30
fix(config): make it clear which element in list is bad
2025-09-24 12:24:08 -04:00
Weihang Lo
22f2745066
fix(config): combine key error context into one
2025-09-24 12:24:07 -04:00
Weihang Lo
ce24634aa4
chore: bump to 0.93.0
2025-09-24 12:23:05 -04:00
Ed Page
440828ae07
test(docker): openssh requires a newer libcrypto3 ( #16010 )
...
### What does this PR try to resolve?
libcrypto3 is required because openssh-10.0_p1-r8 needs a newer
version of libcrypto3 (3.5.3-r1 as of this writing).
However, the pre-installed one on the image is 3.3.2-r4,
and the one the registry is 3.5.1-r0
Hence an `apk upgrade` is required.
We should remove this someday when upstream fixes it.
Also, I've tried `alpine:edge`,
but edge hasn't yet upgrade the pre-installed libssl3 nor the registry
### How to test and review this PR?
To repro what I found:
```console
/ # apk info openssh
openssh-10.0_p1-r8 description:
Port of OpenBSD's free SSH release
openssh-10.0_p1-r8 webpage:
https://www.openssh.com/portable.html
openssh-10.0_p1-r8 installed size:
330 KiB
/ # apk info -R openssh
openssh-10.0_p1-r8 depends on:
openssh-client
openssh-sftp-server
openssh-server
so:libc.musl-x86_64.so.1
so:libcrypto.so.3
/ # apk info libcrypto3
libcrypto3-3.5.1-r0 description:
Crypto library from openssl
libcrypto3-3.5.1-r0 webpage:
https://www.openssl.org/
libcrypto3-3.5.1-r0 installed size:
5091 KiB
libcrypto3-3.5.3-r0 description:
Crypto library from openssl
libcrypto3-3.5.3-r0 webpage:
https://www.openssl.org/
libcrypto3-3.5.3-r0 installed size:
5091 KiB
/ # strings /usr/lib/libcrypto.so.3 | grep -i "OpenSSL"
...
OpenSSL 3.5.1 1 Jul 2025
...
```
2025-09-24 15:45:38 +00:00
Weihang Lo
391f0c46e2
test(docker): openssh requires a newer libcrypto3
...
libcrypto3 is required because openssh-10.0_p1-r8 needs a newer
version of libcrypto3 (3.5.3-r1 as of this writing).
However, the pre-installed one on the image is 3.3.2-r4,
and the one the registry is 3.5.1-r0
Hence an `apk upgrade` is required.
We should remove this someday when upstream fixes it.
Also, I've tried `alpine:edge`,
but edge hasn't yet upgrade the pre-installed libssl3 nor the registry
To repro:
```console
/ # apk info openssh
openssh-10.0_p1-r8 description:
Port of OpenBSD's free SSH release
openssh-10.0_p1-r8 webpage:
https://www.openssh.com/portable.html
openssh-10.0_p1-r8 installed size:
330 KiB
/ # apk info -R openssh
openssh-10.0_p1-r8 depends on:
openssh-client
openssh-sftp-server
openssh-server
so:libc.musl-x86_64.so.1
so:libcrypto.so.3
/ # apk info libcrypto3
libcrypto3-3.5.1-r0 description:
Crypto library from openssl
libcrypto3-3.5.1-r0 webpage:
https://www.openssl.org/
libcrypto3-3.5.1-r0 installed size:
5091 KiB
libcrypto3-3.5.3-r0 description:
Crypto library from openssl
libcrypto3-3.5.3-r0 webpage:
https://www.openssl.org/
libcrypto3-3.5.3-r0 installed size:
5091 KiB
/ # strings /usr/lib/libcrypto.so.3 | grep -i "OpenSSL"
...
OpenSSL 3.5.1 1 Jul 2025
...
```
2025-09-24 11:13:22 -04:00
Weihang Lo
f2932725b0
fix: use host-tuple
for host target subsitution ( #16003 )
...
### What does this PR try to resolve?
The "host" string is ambiguous
* We have `-Zhost-config` that config `[host]` table applies to
artifacts running on host, such as build scripts and proc macros.
* `host` sounds like the default behavior, whereas `--target host` is in
the cross-compilation mode: `target/<triple>/debug`.
* We might want to reserve `host` for future use
This should address both concerns in
<https://github.com/rust-lang/cargo/issues/13051#issuecomment-3313262589 >:
* "host-tuple" is aligned with `rustc --print host-tuple`, and doesn't
sound like a default behavior.
* Given "host" is not used, we reserved the future possibility to reset
to the default behavior
2025-09-24 11:31:26 +00:00
Scott Schafer
113761f27a
test(build-std): move away from panic_immediate_abort ( #16006 )
...
### What does this PR try to resolve?
The test exercises a regression of extra `-Zbuild-std-features`
overriding the entire default-features set.
However, after rust-lang/rust#146317 panic_immediate_abort
became a codegen flag not a Cargo feature anymore.
We pick another `optimize_for_size` feature flag to ensure the
regression case is still covered.
### How to test and review this PR?
To verify `optimize_for_size` actually triggers the regression,
git revert f004691aa41449fa06b764683385558edee51428
and changes to `-Zbuild-std-features=optimize_for_size`.
Alternatively, we can just drop this test.
2025-09-24 05:35:07 +00:00
Weihang Lo
c249c454ea
test(build-std): move away from panic_immediate_abort
...
The test exercises a regression of extra `-Zbuild-std-features`
overriding the entire default-features set.
However, after rust-lang/rust 146317 panic_immediate_abort
became a codegen flag not a Cargo feature anymore.
We pick another `optimize_for_size` feature flag to ensure the
regression case is still covered.
To verify `optimize_for_size` actually triggers the regression,
git revert f004691aa41449fa06b764683385558edee51428
and changes to `-Zbuild-std-features=optimize_for_size`.
Alternatively, we can just drop this test.
2025-09-23 23:41:08 -04:00
Weihang Lo
a5c8b96f82
fix: use host-tuple
for host target subsitution
...
The "host" string is ambiguous
* We have `-Zhost-config` that config `[host]` table applies to
artifacts running on host, such as build scripts and proc macros.
* `host` sounds like the default behavior, whereas `--target host`
is in the cross-compilation mode: `target/<triple>/debug`.
* We might want to reserve `host` for future use
2025-09-23 20:08:28 -04:00
Dongpo Liu
b4cdb55eda
fix: Sparse URLs in TomlLockfileSourceId
( #15990 )
...
### What does this PR try to resolve?
Sparse registries have their IDs prefixed with their kind (sparse+).
This PR fixes the current implementation of `TomlLockfileSourceId` where
it incorrectly splits the kind and URL for sparse registries.
This change itself shouldn't affect cargo. It does, however, affect
users of `cargo-util-schemas`, i.e. cargo plumbing commands. See
https://github.com/crate-ci/cargo-plumbing/pull/111
### How to test and review this PR?
Verify how source IDs are made, especially their URLs.
2025-09-23 12:14:48 +00:00
Ed Page
15699eac0b
refactor(gctx): extract toml dotted keys validation ( #15998 )
...
### What does this PR try to resolve?
These small refactors were found during the experiment of making
ConfigValue span-aware/
### How to test and review this PR?
No functional changes. Tests should all pass.
2025-09-23 11:08:21 +00:00
Weihang Lo
397bdb72cc
refactor(gctx): rename variable to reflect it is a toml doc
2025-09-23 01:07:27 -04:00
Weihang Lo
49c92411a6
refactor(gctx): extract toml dotted keys validation
2025-09-23 01:07:27 -04:00
Ed Page
1c714ca8f0
feat: Add lint for global use of hint-mostly-unused
( #15995 )
...
This PR adds a lint that checks for global use of `hint-mostly-unused`.
This also adds a "workspace lint pass", since we only want to lint on
the workspace's `[profile]`, as all other `[profile]` are ignored. This
new pass uses `[workspace.lints.cargo]` for configuration if
`[workspace]` exists, and `[lints]` if it doesn't[^1].
Note: This lint will get emitted if `-Zprofile-hint-mostly-unused` is
set, regardless of whether `-Zcargo-lints` is set.
CC @joshtriplett
[^1]: We can change the behavior in the future if it is not correct
2025-09-23 00:58:13 +00:00
Scott Schafer
da5d9152fa
feat: Add lint for global use of hint-mostly-unused
2025-09-22 16:47:54 -06:00
Scott Schafer
d826a65fef
refactor: Move cargo-lints check into lint passes
2025-09-22 14:50:51 -06:00
Scott Schafer
b234294ef9
feat: Add a workspace lint pass
2025-09-22 14:50:51 -06:00
Scott Schafer
58852d4c0d
refactor: Add getters to MaybePackage
2025-09-22 11:47:16 -06:00
Scott Schafer
8a86027041
test: Blanket use of hint-mostly-unused
2025-09-22 11:47:16 -06:00
Ed Page
c86bc374d5
Make GlobalContext Sync ( #15967 )
...
### What does this PR try to resolve?
By making `GlobalContext` `Sync`, it will become much easier to
parallelize parts of cargo. A concrete example is #15676 .
It was my understanding from
https://github.com/rust-lang/cargo/issues/15934#issuecomment-3271203650
that this would be a welcome change by the cargo team.
#### Overview
In `GlobalContext` and structs used in its fields
- `RefCell`-s were replaced by either an `std::sync::Mutex` or an
`std::sync::RwLock`, depending on API needs
- `LazyCell`-s were replaced by a new `OnceLock` implementation backed
by `std::sync::OnceLock`, emulating unstable features needed by cargo
- Removed `LazyCell`/`OnceLock` from fields where the initialization
function is just a `Mutex<HashMap>::default()`
- added `util::context::tests::sync_context` test that does not compile
if `GlobalContext` is not `Sync`
### How to test and review this PR?
This PR should add no user-facing changes. Tests must pass and
benchmarks must report no changes.
2025-09-22 16:15:59 +00:00
Matyas Susits
9929c8796d
Assert, rather than hang, on shell-in-use assertions
...
Previously, `gctx.shell().verbosity()` was used to check that `gctx.shell` is
not borrowed. Since shell is now behind a `Mutex` and not a `RefCell`,
this would hang waiting for the unlock instead panicking. Borrow state
checking is now done using `Mutex::try_lock` in
`GlobalContext::debug_assert_shell_not_borrowed`
2025-09-22 10:40:40 -05:00
Matyas Susits
3fd0af4da5
remove OnceLock from GlobalContext fields where the lazy loaded value is just a HashMap::defualt()
2025-09-22 10:40:40 -05:00
Matyas Susits
a8d9b7d9ae
make GlobalContext Sync
2025-09-22 10:40:39 -05:00
Matyas Susits
c7a1dde3fd
port from lazycell
2025-09-22 10:21:14 -05:00
Vito Secona
00085c1aa7
fix: sparse URLs in TomlLockfileSourceId
2025-09-22 22:17:14 +07:00
Vito Secona
d93be027f1
test: add for TomlLockfileSourceId
2025-09-22 22:15:39 +07:00
Ed Page
742a111df3
Abstract away ws_roots
2025-09-22 10:13:23 -05:00
Matyas Susits
bfb8479d83
Abstract away an assertions details
...
This will make it easier to change the implementation in the future.
2025-09-22 09:57:45 -05:00
Eric Huss
b624a44978
chore(deps): update cargo-semver-checks to v0.44.0 ( #15993 )
...
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842 ).
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
|
[cargo-semver-checks](https://redirect.github.com/obi1kenobi/cargo-semver-checks )
| minor | `0.43.0` -> `0.44.0` |
---
### Release Notes
<details>
<summary>obi1kenobi/cargo-semver-checks (cargo-semver-checks)</summary>
###
[`v0.44.0`](https://redirect.github.com/obi1kenobi/cargo-semver-checks/releases/tag/v0.44.0 )
[Compare
Source](https://redirect.github.com/obi1kenobi/cargo-semver-checks/compare/v0.43.0...v0.44.0 )
#### What's Changed
#### All Merged PRs
- Minimum supported Rust version is now 1.88. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1387](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1387 )
- Weekly `cargo update` of dependencies by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1388](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1388 )
- Bump actions/checkout from 4 to 5 by
[@​dependabot](https://redirect.github.com/dependabot )\[bot] in
[#​1389](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1389 )
- Weekly `cargo update` of dependencies by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1391](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1391 )
- Add `struct_must_use_removed` by
[@​nk9](https://redirect.github.com/nk9 ) in
[#​1392](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1392 )
- Weekly `cargo update` of dependencies by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1395](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1395 )
- Weekly `cargo update` of dependencies by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1398](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1398 )
- Add info about build prerequisites to the CONTRIBUTING doc. by
[@​nk9](https://redirect.github.com/nk9 ) in
[#​1402](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1402 )
- Add `function_must_use_removed` by
[@​nk9](https://redirect.github.com/nk9 ) in
[#​1400](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1400 )
- Add `union_must_use_removed` by
[@​nk9](https://redirect.github.com/nk9 ) in
[#​1399](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1399 )
- Sort the list of lints. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1403](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1403 )
- Replace tuple with a LintResult struct by
[@​kornelski](https://redirect.github.com/kornelski ) in
[#​1396](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1396 )
- Bump trustfall\_rustdoc to v0.33.0 by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1405](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1405 )
- Ensure rustdoc generation script doesn't overflow shell arg buffer. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1406](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1406 )
- Add `function_const_generic_reordered` and
`function_generic_type_reordered` lints. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1407](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1407 )
- lint: detect trait method generic reordering by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1409](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1409 )
- lint: detect generic reorder in inherent methods by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1408](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1408 )
- Add lints for generic reorder on impl owners by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1410](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1410 )
- Add lints for trait generic const/type reordering by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1411](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1411 )
- run\_check\_release tweaks by
[@​kornelski](https://redirect.github.com/kornelski ) in
[#​1412](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1412 )
- Add repr\_packed\_changed lint by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1415](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1415 )
- Add repr\_align\_changed lint by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1418](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1418 )
- Better diagnostic in `repr_packed_changed` lint. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1420](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1420 )
- Add repr align added and removed lints by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1419](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1419 )
- Don't create a vec for skipped queries by
[@​kornelski](https://redirect.github.com/kornelski ) in
[#​1413](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1413 )
- Separate report printing from generation by
[@​kornelski](https://redirect.github.com/kornelski ) in
[#​1422](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1422 )
- Weekly `cargo update` of dependencies by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1425](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1425 )
- Enable the rustdoc JSON v56 support feature. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1426](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1426 )
- \[Witness Generation] Add empty witness crate generation by
[@​GlitchlessCode](https://redirect.github.com/GlitchlessCode ) in
[#​1414](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1414 )
- Weekly `cargo update` of dependencies by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1427](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1427 )
- Update `trustfall_rustdoc` and `cargo_metadata` versions. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1428](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1428 )
- Bump `ron`, `clap-cargo`, `gix`, and `tame-index` major versions. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1429](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1429 )
- Add .gitignore in the `test_crates` directory to ignore lockfiles. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1431](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1431 )
- Add lint for functions now returning unit by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1432](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1432 )
- Use edition 2024 for the template crate. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1434](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1434 )
- feat: check inherent method returning unit by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1433](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1433 )
- Add `TODO` notes to function about returning unit. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1435](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1435 )
- Add lint for trait methods that start returning unit by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1436](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1436 )
- Weekly `cargo update` of dependencies by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1437](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1437 )
- Add next Rust minor to test matrix by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1438](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1438 )
- Add lint for trait method return value added by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1439](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1439 )
- Handle async methods in sealed trait return value lint by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1440](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1440 )
- Enable Trusted Publishing for release workflow by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1442](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1442 )
- Weekly `cargo update` of dependencies by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1441](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1441 )
- Allow write permission for ID token for trusted publishing. by
[@​obi1kenobi](https://redirect.github.com/obi1kenobi ) in
[#​1444](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1444 )
#### New Contributors
- [@​nk9](https://redirect.github.com/nk9 ) made their first
contribution in
[#​1392](https://redirect.github.com/obi1kenobi/cargo-semver-checks/pull/1392 )
**Full Changelog**:
<https://github.com/obi1kenobi/cargo-semver-checks/compare/v0.43.0...v0.44.0 >
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (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.
🔕 **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 was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/rust-lang/cargo ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2025-09-21 15:44:16 +00:00
Weihang Lo
ea4f4b1846
fix(frontatter): Only allow horizontal whitespace after fences ( #15975 )
...
### What does this PR try to resolve?
This is to align with rust-lang/rust#146106 and is part of #12207 .
### How to test and review this PR?
While no tests were affected by this,
I definitely broke a lot of tests when making this change.
2025-09-21 14:21:00 +00:00
renovate[bot]
f21311948b
chore(deps): update cargo-semver-checks to v0.44.0
2025-09-21 04:51:16 +00:00
Weihang Lo
ee515e6def
docs: Add Lockfile schemas docs ( #15989 )
...
### What does this PR try to resolve?
Add documentation efforts to the lockfile schemas.
Continuation of #15980
### How to test and review this PR?
2025-09-20 01:40:06 +00:00
Vito Secona
9730a3724f
docs: add doc comments to lockfile schemas
2025-09-20 08:09:16 +07:00
Vito Secona
c384761adb
refactor: rearrange definitions
...
Moves struct definitions and impls closer together to make reading
easier
2025-09-20 07:59:21 +07:00
Eric Huss
5818dcdfdf
Add parallel frontend to the build performance guide ( #15970 )
...
This extends the build performance guide in the Cargo book with the
parallel frontend. This is the first mechanism we have in the guide that
is not configured via profiles (unless we want to advertise setting
`rustflags` through profiles?), but rather through `RUSTFLAGS`. Which
means that we have to explain how to do that.
I proposed using footnotes for this, so that we can reuse them also for
other thing (such as explaining how to change a profile). An alternative
would be to have a short paragraph at the beginning of the configuration
subsection where we explain all the possible ways of configuring things,
and then we refer to them.
This is a follow up to #15924
r? @epage
2025-09-19 23:18:54 +00:00
Ed Page
afb508e358
chore(deps): update msrv (3 versions) to v1.88 ( #15988 )
...
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842 ).
This PR contains the following updates:
| Package | Update | Change | Pending |
|---|---|---|---|
| [MSRV:3](https://redirect.github.com/rust-lang/rust ) | minor | `1.87`
-> `1.88` | `1.90` (+1) |
---
### Release Notes
<details>
<summary>rust-lang/rust (MSRV:3)</summary>
###
[`v1.88`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1880-2025-06-26 )
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.87.0...1.88.0 )
\==========================
<a id="1.88.0-Language"></a>
## Language
- [Stabilize `#![feature(let_chains)]` in the 2024
edition.](https://redirect.github.com/rust-lang/rust/pull/132833 )
This feature allows `&&`-chaining `let` statements inside `if` and
`while`, allowing intermixture with boolean expressions. The patterns
inside the `let` sub-expressions can be irrefutable or refutable.
- [Stabilize
`#![feature(naked_functions)]`.](https://redirect.github.com/rust-lang/rust/pull/134213 )
Naked functions allow writing functions with no compiler-generated
epilogue and prologue, allowing full control over the generated assembly
for a particular function.
- [Stabilize
`#![feature(cfg_boolean_literals)]`.](https://redirect.github.com/rust-lang/rust/pull/138632 )
This allows using boolean literals as `cfg` predicates, e.g.
`#[cfg(true)]` and `#[cfg(false)]`.
- [Fully de-stabilize the `#[bench]`
attribute](https://redirect.github.com/rust-lang/rust/pull/134273 ).
Usage of `#[bench]` without `#![feature(custom_test_frameworks)]`
already triggered a deny-by-default future-incompatibility lint since
Rust 1.77, but will now become a hard error.
- [Add warn-by-default `dangerous_implicit_autorefs` lint against
implicit autoref of raw pointer
dereference.](https://redirect.github.com/rust-lang/rust/pull/123239 )
The lint [will be bumped to
deny-by-default](https://redirect.github.com/rust-lang/rust/pull/141661 )
in the next version of Rust.
- [Add `invalid_null_arguments` lint to prevent invalid usage of null
pointers.](https://redirect.github.com/rust-lang/rust/pull/119220 )
This lint is uplifted from `clippy::invalid_null_ptr_usage`.
- [Change trait impl candidate preference for builtin impls and trivial
where-clauses.](https://redirect.github.com/rust-lang/rust/pull/138176 )
- [Check types of generic const parameter
defaults](https://redirect.github.com/rust-lang/rust/pull/139646 )
<a id="1.88.0-Compiler"></a>
## Compiler
- [Stabilize `-Cdwarf-version` for selecting the version of DWARF debug
information to
generate.](https://redirect.github.com/rust-lang/rust/pull/136926 )
<a id="1.88.0-Platform-Support"></a>
## Platform Support
- [Demote `i686-pc-windows-gnu` to Tier
2.](https://blog.rust-lang.org/2025/05/26/demoting-i686-pc-windows-gnu/ )
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html
<a id="1.88.0-Libraries"></a>
## Libraries
- [Remove backticks from `#[should_panic]` test failure
message.](https://redirect.github.com/rust-lang/rust/pull/136160 )
- [Guarantee that `[T; N]::from_fn` is generated in order of increasing
indices.](https://redirect.github.com/rust-lang/rust/pull/139099 ), for
those passing it a stateful closure.
- [The libtest flag `--nocapture` is deprecated in favor of the more
consistent `--no-capture`
flag.](https://redirect.github.com/rust-lang/rust/pull/139224 )
- [Guarantee that `{float}::NAN` is a quiet
NaN.](https://redirect.github.com/rust-lang/rust/pull/139483 )
<a id="1.88.0-Stabilized-APIs"></a>
## Stabilized APIs
-
[`Cell::update`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.update )
- [`impl Default for *const
T`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#impl-Default-for-*const+T )
- [`impl Default for *mut
T`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#impl-Default-for-*mut+T )
-
[`HashMap::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html#method.extract_if )
-
[`HashSet::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.extract_if )
-
[`hint::select_unpredictable`](https://doc.rust-lang.org/stable/std/hint/fn.select_unpredictable.html )
-
[`proc_macro::Span::line`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.line )
-
[`proc_macro::Span::column`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.column )
-
[`proc_macro::Span::start`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.start )
-
[`proc_macro::Span::end`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.end )
-
[`proc_macro::Span::file`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.file )
-
[`proc_macro::Span::local_file`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.local_file )
-
[`<[T]>::as_chunks`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_chunks )
-
[`<[T]>::as_chunks_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_chunks_mut )
-
[`<[T]>::as_chunks_unchecked`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_chunks_unchecked )
-
[`<[T]>::as_chunks_unchecked_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_chunks_unchecked_mut )
-
[`<[T]>::as_rchunks`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_rchunks )
-
[`<[T]>::as_rchunks_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_rchunks_mut )
- [`mod
ffi::c_str`](https://doc.rust-lang.org/stable/std/ffi/c_str/index.html )
These previously stable APIs are now stable in const contexts:
-
[`NonNull<T>::replace`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.replace )
- [`<*mut
T>::replace`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.replace )
-
[`std::ptr::swap_nonoverlapping`](https://doc.rust-lang.org/stable/std/ptr/fn.swap_nonoverlapping.html )
-
[`Cell::replace`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.replace )
-
[`Cell::get`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.get )
-
[`Cell::get_mut`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.get_mut )
-
[`Cell::from_mut`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.from_mut )
-
[`Cell::as_slice_of_cells`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.as_slice_of_cells )
<a id="1.88.0-Cargo"></a>
## Cargo
- [Stabilize automatic garbage
collection.](https://redirect.github.com/rust-lang/cargo/pull/14287/ )
- [use `zlib-rs` for gzip compression in rust
code](https://redirect.github.com/rust-lang/cargo/pull/15417/ )
<a id="1.88.0-Rustdoc"></a>
## Rustdoc
- [Doctests can be ignored based on target names using `ignore-*`
attributes.](https://redirect.github.com/rust-lang/rust/pull/137096 )
- [Stabilize the `--test-runtool` and `--test-runtool-arg` CLI options
to specify a program (like qemu) and its arguments to run a
doctest.](https://redirect.github.com/rust-lang/rust/pull/137096 )
<a id="1.88.0-Compatibility-Notes"></a>
## Compatibility Notes
- [Finish changing the internal representation of pasted
tokens](https://redirect.github.com/rust-lang/rust/pull/124141 ). Certain
invalid declarative macros that were previously accepted in obscure
circumstances are now correctly rejected by the compiler. Use of a `tt`
fragment specifier can often fix these macros.
- [Fully de-stabilize the `#[bench]`
attribute](https://redirect.github.com/rust-lang/rust/pull/134273 ).
Usage of `#[bench]` without `#![feature(custom_test_frameworks)]`
already triggered a deny-by-default future-incompatibility lint since
Rust 1.77, but will now become a hard error.
- [Fix borrow checking some always-true
patterns.](https://redirect.github.com/rust-lang/rust/pull/139042 )
The borrow checker was overly permissive in some cases, allowing
programs that shouldn't have compiled.
- [Update the minimum external LLVM to
19.](https://redirect.github.com/rust-lang/rust/pull/139275 )
- [Make it a hard error to use a vector type with a non-Rust ABI without
enabling the required target
feature.](https://redirect.github.com/rust-lang/rust/pull/139309 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (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.
🔕 **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 was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/rust-lang/cargo ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2025-09-19 20:55:05 +00:00
renovate[bot]
f5a0a0e227
chore(deps): update msrv (3 versions) to v1.88
2025-09-19 20:22:15 +00:00
Ed Page
706cae0796
chore(deps): update msrv (1 version) to v1.90 ( #15984 )
...
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842 ).
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [MSRV:1](https://redirect.github.com/rust-lang/rust ) | minor | `1.89`
-> `1.90` |
---
### Release Notes
<details>
<summary>rust-lang/rust (MSRV:1)</summary>
###
[`v1.90`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1900-2025-09-18 )
[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.89.0...1.90.0 )
\===========================
<a id="1.90-Language"></a>
## Language
- [Split up the `unknown_or_malformed_diagnostic_attributes`
lint](https://redirect.github.com/rust-lang/rust/pull/140717 ). This lint
has been split up into four finer-grained lints, with
`unknown_or_malformed_diagnostic_attributes` now being the lint group
that contains these lints:
1. `unknown_diagnostic_attributes`: unknown to the current compiler
2. `misplaced_diagnostic_attributes`: placed on the wrong item
3. `malformed_diagnostic_attributes`: malformed attribute syntax or
options
4. `malformed_diagnostic_format_literals`: malformed format string
literal
- [Allow constants whose final value has references to mutable/external
memory, but reject such constants as
patterns](https://redirect.github.com/rust-lang/rust/pull/140942 )
- [Allow volatile access to non-Rust memory, including address
0](https://redirect.github.com/rust-lang/rust/pull/141260 )
<a id="1.90-Compiler"></a>
## Compiler
- [Use `lld` by default on
`x86_64-unknown-linux-gnu`](https://redirect.github.com/rust-lang/rust/pull/140525 ).
- [Tier 3 `musl` targets now link dynamically by
default](https://redirect.github.com/rust-lang/rust/pull/144410 ).
Affected targets:
- `mips64-unknown-linux-muslabi64`
- `powerpc64-unknown-linux-musl`
- `powerpc-unknown-linux-musl`
- `powerpc-unknown-linux-muslspe`
- `riscv32gc-unknown-linux-musl`
- `s390x-unknown-linux-musl`
- `thumbv7neon-unknown-linux-musleabihf`
<a id="1.90-Platform-Support"></a>
## Platform Support
- [Demote `x86_64-apple-darwin` to Tier 2 with host
tools](https://redirect.github.com/rust-lang/rust/pull/145252 )
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html
<a id="1.90-Libraries"></a>
## Libraries
- [Stabilize
`u*::{checked,overflowing,saturating,wrapping}_sub_signed`](https://redirect.github.com/rust-lang/rust/issues/126043 )
- [Allow comparisons between `CStr`, `CString`, and
`Cow<CStr>`](https://redirect.github.com/rust-lang/rust/pull/137268 )
- [Remove some unsized tuple impls since unsized tuples can't be
constructed](https://redirect.github.com/rust-lang/rust/pull/138340 )
- [Set `MSG_NOSIGNAL` for
`UnixStream`](https://redirect.github.com/rust-lang/rust/pull/140005 )
- [`proc_macro::Ident::new` now supports
`$crate`.](https://redirect.github.com/rust-lang/rust/pull/141996 )
- [Guarantee the pointer returned from `Thread::into_raw` has at least 8
bytes of
alignment](https://redirect.github.com/rust-lang/rust/pull/143859 )
<a id="1.90-Stabilized-APIs"></a>
## Stabilized APIs
-
[`u{n}::checked_sub_signed`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.checked_sub_signed )
-
[`u{n}::overflowing_sub_signed`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.overflowing_sub_signed )
-
[`u{n}::saturating_sub_signed`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.saturating_sub_signed )
-
[`u{n}::wrapping_sub_signed`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.wrapping_sub_signed )
- [`impl Copy for
IntErrorKind`](https://doc.rust-lang.org/stable/std/num/enum.IntErrorKind.html#impl-Copy-for-IntErrorKind )
- [`impl Hash for
IntErrorKind`](https://doc.rust-lang.org/stable/std/num/enum.IntErrorKind.html#impl-Hash-for-IntErrorKind )
- [`impl PartialEq<&CStr> for
CStr`](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#impl-PartialEq%3C%26CStr%3E-for-CStr )
- [`impl PartialEq<CString> for
CStr`](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#impl-PartialEq%3CCString%3E-for-CStr )
- [`impl PartialEq<Cow<CStr>> for
CStr`](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#impl-PartialEq%3CCow%3C'_,+CStr%3E%3E-for-CStr )
- [`impl PartialEq<&CStr> for
CString`](https://doc.rust-lang.org/stable/std/ffi/struct.CString.html#impl-PartialEq%3C%26CStr%3E-for-CString )
- [`impl PartialEq<CStr> for
CString`](https://doc.rust-lang.org/stable/std/ffi/struct.CString.html#impl-PartialEq%3CCStr%3E-for-CString )
- [`impl PartialEq<Cow<CStr>> for
CString`](https://doc.rust-lang.org/stable/std/ffi/struct.CString.html#impl-PartialEq%3CCow%3C'_,+CStr%3E%3E-for-CString )
- [`impl PartialEq<&CStr> for
Cow<CStr>`](https://doc.rust-lang.org/stable/std/borrow/enum.Cow.html#impl-PartialEq%3C%26CStr%3E-for-Cow%3C'_,+CStr%3E )
- [`impl PartialEq<CStr> for
Cow<CStr>`](https://doc.rust-lang.org/stable/std/borrow/enum.Cow.html#impl-PartialEq%3CCStr%3E-for-Cow%3C'_,+CStr%3E )
- [`impl PartialEq<CString> for
Cow<CStr>`](https://doc.rust-lang.org/stable/std/borrow/enum.Cow.html#impl-PartialEq%3CCString%3E-for-Cow%3C'_,+CStr%3E )
These previously stable APIs are now stable in const contexts:
-
[`<[T]>::reverse`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.reverse )
-
[`f32::floor`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.floor )
-
[`f32::ceil`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.ceil )
-
[`f32::trunc`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.trunc )
-
[`f32::fract`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.fract )
-
[`f32::round`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.round )
-
[`f32::round_ties_even`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.round_ties_even )
-
[`f64::floor`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.floor )
-
[`f64::ceil`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.ceil )
-
[`f64::trunc`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.trunc )
-
[`f64::fract`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.fract )
-
[`f64::round`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.round )
-
[`f64::round_ties_even`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.round_ties_even )
<a id="1.90-Cargo"></a>
## Cargo
- [Add `http.proxy-cainfo` config for proxy
certs](https://redirect.github.com/rust-lang/cargo/pull/15374/ )
- [Use `gix` for `cargo
package`](https://redirect.github.com/rust-lang/cargo/pull/15534/ )
- [feat(publish): Stabilize multi-package
publishing](https://redirect.github.com/rust-lang/cargo/pull/15636/ )
<a id="1.90-Rustdoc"></a>
## Rustdoc
- [Add ways to collapse all impl
blocks](https://redirect.github.com/rust-lang/rust/pull/141663 ).
Previously the "Summary" button and "-" keyboard shortcut would never
collapse `impl` blocks, now they do when shift is held
- [Display unsafe attributes with `unsafe()`
wrappers](https://redirect.github.com/rust-lang/rust/pull/143662 )
<a id="1.90-Compatibility-Notes"></a>
## Compatibility Notes
- [Use `lld` by default on
`x86_64-unknown-linux-gnu`](https://redirect.github.com/rust-lang/rust/pull/140525 ).
See also
<https://blog.rust-lang.org/2025/09/01/rust-lld-on-1.90.0-stable/ >.
- [Make `core::iter::Fuse`'s `Default` impl construct `I::default()`
internally as promised in the docs instead of always being
empty](https://redirect.github.com/rust-lang/rust/pull/140985 )
- [Set `MSG_NOSIGNAL` for
`UnixStream`](https://redirect.github.com/rust-lang/rust/pull/140005 )
This may change program behavior but results in the same behavior as
other primitives (e.g., stdout, network sockets).
Programs relying on signals to terminate them should update handling of
sockets to handle errors on write by exiting.
- [On Unix `std::env::home_dir` will use the fallback if the `HOME`
environment variable is
empty](https://redirect.github.com/rust-lang/rust/pull/141840 )
- We now [reject unsupported `extern "{abi}"`s consistently in all
positions](https://redirect.github.com/rust-lang/rust/pull/142134 ). This
primarily affects the use of implementing traits on an `extern "{abi}"`
function pointer, like `extern "stdcall" fn()`, on a platform that
doesn't support that, like aarch64-unknown-linux-gnu. Direct usage of
these unsupported ABI strings by declaring or defining functions was
already rejected, so this is only a change for consistency.
- [const-eval: error when initializing a static writes to that
static](https://redirect.github.com/rust-lang/rust/pull/143084 )
- [Check that the `proc_macro_derive` macro has correct arguments when
applied to the crate
root](https://redirect.github.com/rust-lang/rust/pull/143607 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (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.
🔕 **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 was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/rust-lang/cargo ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2025-09-19 19:14:18 +00:00
Ed Page
3f19ccf75d
chore: Bump versions
2025-09-19 13:21:35 -05:00
Jakub Beránek
a887a25565
Add parallel frontend to the build performance guide
2025-09-19 20:08:45 +02:00
Jakub Beránek
5f0328fa7c
Add link to -Zcodegen-backend
feature
2025-09-19 20:08:32 +02:00
renovate[bot]
82f655b1e1
chore(deps): update msrv (1 version) to v1.90
2025-09-19 16:45:43 +00:00
Ed Page
24ef070a95
feat(cargo-util-schemas): Move lockfile schemas ( #15980 )
...
### What does this PR try to resolve?
As part of cargo plumbing commands, we're trying to make lockfiles more
accessible to third-party uses. This change moves the lockfile schemas
to `cargo-util-schemas`, where it is previously under `cargo` and are
relatively hidden.
See also: https://github.com/crate-ci/cargo-plumbing/issues/82
### How to test and review this PR?
Commit by commit to see the changes made. My main concern is performance
as the implementation repeatedly calls `SourceId::from_url` and I'm not
sure if its negligible.
r? @epage
2025-09-19 16:13:01 +00:00
Weihang Lo
a4bd03c92d
Clarify multiple version requirement behavior ( #15979 )
...
Clarify handling of multiple version requirements of disjoint regions
### What does this PR try to resolve?
Resolves a gap in the existing documentation around the dependency
specification for multiple version requirements.
### How to test and review this PR?
As only an update to the cargo book, review should be straightforward
2025-09-19 01:39:17 +00:00
Vito Secona
703988f0c2
refactor: rename lockfile schemas scheme
...
Manifests schemas use `TomlManifest`. To match, we rename the lockfile
schemas to `TomlLockfile`
2025-09-19 06:05:02 +07:00
Vito Secona
d51d7f6cfc
chore: bump version
2025-09-19 05:40:17 +07:00
Vito Secona
3738481c5b
feat: add lockfile schema generation
2025-09-19 05:36:02 +07:00
Vito Secona
949e863cb9
refactor: move lockfile schemas to cargo-util-schemas
2025-09-19 01:15:32 +07:00