Skip to content

Conversation

weihanglo
Copy link
Member

@weihanglo weihanglo commented Sep 24, 2025

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

[alias]
nested = ["a", "b", "c"]
#                   ^^^ this one

r? Muscraft

@rustbot rustbot added A-configuration Area: cargo config files and env vars S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 24, 2025
val.into_iter()
.map(|toml| match toml {
.enumerate()
.map(|(i, toml)| match toml {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Though this part is going to be obsolete when we start supporting array of table (and array of any type).

@weihanglo

This comment was marked as resolved.

@weihanglo

This comment was marked as resolved.

@epage epage enabled auto-merge September 24, 2025 16:27
@epage epage added this pull request to the merge queue Sep 24, 2025
Merged via the queue into rust-lang:master with commit b41a16c Sep 24, 2025
25 checks passed
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 24, 2025
bors added a commit to rust-lang/rust that referenced this pull request Oct 3, 2025
Update cargo submodule

24 commits in f2932725b045d361ff5f18ba02b1409dd1f44e71..2394ea6cea8b26d717aa67eb1663a2dbf2d26078
2025-09-24 11:31:26 +0000 to 2025-10-03 14:13:01 +0000
- Recommend `package.rust-version` in the Rust version section of `reference/semver.md`. (rust-lang/cargo#15806)
- fix(toml): Prevent non-script fields in Cargo scripts (rust-lang/cargo#16026)
- chore(ci): unpin libc (rust-lang/cargo#16044)
- chore: Update dependencies (rust-lang/cargo#16034)
- Fix FileLock path tracking after rename in package operation (rust-lang/cargo#16036)
- Lockfile schemas error cleanup (rust-lang/cargo#16039)
- Convert a multi-part diagnostic to a report (rust-lang/cargo#16035)
- fix(run): Override arg0 for cargo scripts  (rust-lang/cargo#16027)
- Public in private manifest errors (rust-lang/cargo#16002)
- chore(deps): update actions/checkout action to v5 (rust-lang/cargo#16031)
- fix: remove FIXME comment that's no longer a problem (rust-lang/cargo#16025)
- Add retry for `git fetch` failures in `CARGO_NET_GIT_FETCH_WITH_CLI` path (rust-lang/cargo#16016)
- Added better filesystem layout testing harness (rust-lang/cargo#15874)
- Small cleanup to normalize_dependencies (rust-lang/cargo#16022)
- fix: better error message for rust version incompatibility (rust-lang/cargo#16021)
- fix(shell): Use a distinct style for transient status (rust-lang/cargo#16019)
- chore(deps): Depend on `serde_core` in `cargo-platform` (rust-lang/cargo#15992)
- Remove package-workspace from unstable doc index (rust-lang/cargo#16014)
- fix(shell): Switch to annotate snippets for notes (rust-lang/cargo#15945)
- docs: update changelog (rust-lang/cargo#15986)
- chore(ci): add rustfmt for docs job (rust-lang/cargo#16013)
- chore: bump to 0.93.0 (rust-lang/cargo#16009)
- fix(config): combine key error context into one (rust-lang/cargo#16004)
- test(docker): openssh requires a newer libcrypto3 (rust-lang/cargo#16010)

r? ghost
@rustbot rustbot added this to the 1.92.0 milestone Oct 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-configuration Area: cargo config files and env vars
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants