19509 Commits

Author SHA1 Message Date
Eric Huss
3948fa5e15 Update all dependencies 2025-02-09 15:50:36 -08:00
Weihang Lo
fcb79a5c45
Update curl from 8.9.0 to 8.12.0 (#15162)
Quite a lot of changes between these releases:

Release notes: https://curl.se/ch/8.12.0.html
Release notes: https://curl.se/ch/8.11.1.html
Release notes: https://curl.se/ch/8.11.0.html
Release notes: https://curl.se/ch/8.10.1.html
Release notes: https://curl.se/ch/8.10.0.html
Blog: https://daniel.haxx.se/blog/2025/02/05/curl-8-12-0/
Blog: https://daniel.haxx.se/blog/2024/12/11/curl-8-11-1/
Blog: https://daniel.haxx.se/blog/2024/11/06/curl-8-11-0/
Blog: https://daniel.haxx.se/blog/2024/09/18/curl-8-10-1/
Blog: https://daniel.haxx.se/blog/2024/09/11/curl-8-10-0/
2025-02-09 22:42:00 +00:00
Weihang Lo
d64e7a462d
Update annotate-snippets from 0.11.4 to 0.11.5 (#15165)
Changelog:
https://github.com/rust-lang/annotate-snippets-rs/blob/master/CHANGELOG.md#0115---2024-12-09

Looks to have some minor rendering differences.
2025-02-09 21:36:06 +00:00
Weihang Lo
71ad027733
Update deny.toml (#15164)
`cargo deny` is complaining about some deprecated settings in our
`deny.toml`. This updates it to the latest structure, and also
synchronizes the file with the latest template.
2025-02-09 20:50:43 +00:00
Weihang Lo
9c229bd40c
Update rusqlite from 0.32.1 to 0.33.0 (#15163)
Changes: https://github.com/rusqlite/rusqlite/releases/tag/v0.33.0
2025-02-09 20:47:31 +00:00
Eric Huss
b5394da406 Update annotate-snippets from 0.11.4 to 0.11.5
Changelog: https://github.com/rust-lang/annotate-snippets-rs/blob/master/CHANGELOG.md#0115---2024-12-09

Looks to have some minor rendering differences.
2025-02-09 12:46:36 -08:00
Eric Huss
013f31d6ae Update deny.toml comments to latest template
This updates the deny.toml comments to the latest template. This
includes the removal of some settings, etc.
2025-02-09 12:21:39 -08:00
Eric Huss
b370adcb2c Change cargo deny db settings to default
This changes the db-path to the default of `advisory-dbs` (with an s)
just to remain consistent with other projects possibly using this tool.
2025-02-09 12:21:01 -08:00
Eric Huss
61e6730cd5 Update cargo-deny structure
`cargo deny` is complaining that the current structure is deprecated.
2025-02-09 12:19:25 -08:00
Eric Huss
0d2ddc9942 Update rusqlite from 0.32.1 to 0.33.0
Changes: https://github.com/rusqlite/rusqlite/releases/tag/v0.33.0
2025-02-09 12:06:21 -08:00
Eric Huss
84eabfa746 Update curl from 8.9.0 to 8.12.0 2025-02-09 11:48:06 -08:00
Eric Huss
abf1338921
fix: align first line of unordered list with following (#15161)
### What does this PR try to resolve?

`\h` controls horizontal spacing.
This changes unordered lists from moving 2 units (`\h'+02'`) to 3 units
(`\h'+03'`).

This looks more nature.
Most other popular software programs follow the same style.
For example, git-merge, tar, and bash.

### How should we test and review this PR?

```
cargo build
target/debug/cargo help package
```

### Additional information

This was found during #15148.
2025-02-09 15:53:33 +00:00
Weihang Lo
f7c9066169
fix: align first line of unordered list with following
This looks more nature.
Most of other popular softwares follow the same style.
For example, git-merge, tar, and bash.
2025-02-09 10:15:42 -05:00
Ed Page
2928e32734
Simplify backtrack (#15150)
### What does this PR try to resolve?

Some very small simplifications made while poking around the resolver. I
was trying to understand when we would end up hitting a `continue` in
the code. The easiest way was to run the tests with a panic instead.
Turns out I was right, we cannot/(can no longer) hit that code path.
Which allowed us to simplify some other surrounding code.

### How should we test and review this PR?

All tests pass on each commit.

### Additional information
2025-02-07 16:50:22 +00:00
Weihang Lo
49e5d24870
Don't use on Solaris libc::LOCK_* which were removed from libc in ver… (#15143)
Relevant libc change was:
251e8e839a
2025-02-07 13:14:25 +00:00
Petr Sumbera
1cc87c914f Don't use on Solaris libc::LOCK_* which were removed from libc in version 0.2.162 2025-02-07 08:03:26 +00:00
Jacob Finkelman
8014091612 reorganize the loop 2025-02-06 22:07:05 +00:00
Jacob Finkelman
a9da3c8345
to to too
Co-authored-by: Ed Page <eopage@gmail.com>
2025-02-06 16:44:19 -05:00
Jacob Finkelman
2cce8b4be9 deduplicate the check 2025-02-06 20:03:12 +00:00
Jacob Finkelman
0716b882ba move code out of loop 2025-02-06 19:35:07 +00:00
Jacob Finkelman
3cf5cc37f7 insurer code is dead by runing tests with a panic! call 2025-02-06 19:31:25 +00:00
Ed Page
027b415b52
feat: emit error if package not found within workspace (#15071)
### What does this PR try to resolve?

Fixes https://github.com/rust-lang/cargo/issues/12978

currently, if `--package `and `--workspace` passe in the same time, the
`--package` will be ignore even the package doesnt exist in the
workspace, this PR regards this behavior as an error

### How should we test and review this PR?

one commit add test, one commit fixes the issue.

### Additional information
2025-02-06 02:47:38 +00:00
Yihai Lin
23ab2afc25 feat: package doesnt exist in workspace is regarded as an error 2025-02-06 10:07:22 +08:00
Ed Page
1687f7409c
Make cache tracking resilient to unexpected files (#15147)
This adds a check to fix an issue where the cache tracking
synchronization was breaking on unexpected files like macOS's
`.DS_Store` (see commit for details).

Fixes https://github.com/rust-lang/cargo/issues/15145
2025-02-05 23:20:15 +00:00
Eric Huss
39cc418c04 Make cache tracking resilient to unexpected files
This makes the cache tracking synchronization code resilient to
unexpected files in the cache directory. Previously the code was
assuming that all entries in paths like `registry/index/*` are
directories. However, in circumstances like opening the directories in
macOS's finder, that can create files called `.DS_Store`. This caused it
to fail to scan within that path, since it isn't a directory.

This could in theory be made stricter, such as expecting directories to
have a particular pattern for its name. However, it seems like we never
enacted restrictions on what names are used for the git directories, so
it wouldn't work very well for that. Though that is something we could
consider in the future.
2025-02-05 14:39:47 -08:00
Eric Huss
dffa757620 Add test for unexpected stray files in the caches 2025-02-05 14:10:43 -08:00
Weihang Lo
8eab10a348
Small resolver cleanups (#15040)
This is just three small resolver cleanups I found while doing some
other work.
2025-02-05 22:03:38 +00:00
Yihai Lin
69a3e0acac test: Add test to show --package nonexistence --workspace didn't warn. 2025-02-05 19:14:41 +08:00
Ed Page
f6514977ef
feat: add cargo pkgid support for cargo-script (#14961)
### What does this PR try to resolve?

close https://github.com/rust-lang/cargo/issues/14831

In this PR, we added the `cargo pkgid` support for the cargo-script.

For the package itself:

```console
cargo pkgid --manifest-path foo.rs
path+file:///my-project/foo.rs/foo#0.86.0
```

For its dependence:

```console
cargo pkgid --manifest-path foo.rs -p sqlx
registry+https://github.com/rust-lang/crates.io-index#sqlx@0.7.4
```

### How should we test and review this PR?

I have updated the unit tests and also added more test cases for it.

### Additional information

None
2025-02-04 19:52:07 +00:00
Ed Page
83c11eebef
Suggest similar feature names on CLI (#15133)
### What does this PR try to resolve?

When you typo a feature name on the CLI, the error message isn't very
helpful. Concretely, I was testing a PR which adds a feature called
`cosmic_text` to enable a `cosmic-text` dependency, and got a correct
but unhelpful error message:
```rust
error: Package `scenes v0.0.0 ([ELIDED]/linebender/vello/examples/scenes)` does not have feature `cosmic-text`. It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it does not have an implicit feature with that name.
```

I had to dig into the Cargo.lock file to find out how to fix this.

### How should we test and review this PR?

Observe the new test cases
2025-02-04 19:44:26 +00:00
Daniel McNab
378f021a34 Suggest relevant feature names on the CLI
The left-aligned error message is there to
workaround rustfmt refusing to format files
which contain string literals which are too
wide. I have not found a consistent way to
fix this behaviour, but left-aligning does
resolve it in this case. I believe that this
should have an explanatory comment, but code
review determined that to be "noise" and so
I removed it.
2025-02-04 18:33:15 +00:00
Daniel McNab
b0dc18d158 Add new tests 2025-02-04 18:24:48 +00:00
Weihang Lo
f327379622
fix: Don't use "did you mean" in errors (#15138)
### What does this PR try to resolve?

This is an attempt at moving Cargo closer to [rustc's diagnostic
guide](https://rustc-dev-guide.rust-lang.org/diagnostics.html#suggestion-style-guide)
(clap already did this)

> Suggestions should not be a question. In particular, language like
"did you mean" should be avoided. Sometimes, it's unclear why a
particular suggestion is being made. In these cases, it's better to be
upfront about what the suggestion is.
>
> Compare "did you mean: Foo" vs. "there is a struct with a similar
name: Foo".

### How should we test and review this PR?

### Additional information

I did leave behind three "did you mean"s as I was a little less sure in
how to handle them
2025-02-04 17:16:54 +00:00
Ed Page
e78a8a19db fix: Align new help messages with their error 2025-02-04 10:46:09 -06:00
Rustin170506
9fe45b2010 test: add a test for error handling in script installation
Signed-off-by: Rustin170506 <techregister@pm.me>
2025-02-04 22:57:12 +08:00
Rustin170506
91da8dba0d fix: better error message for using the script as a dep
Signed-off-by: Rustin170506 <techregister@pm.me>
2025-02-04 22:57:06 +08:00
Weihang Lo
3f48c221b9
Fix changelog link (#15142)
I accidentally copied the wrong link here.
2025-02-04 14:41:36 +00:00
Eric Huss
e3d24276d5 Fix changelog link 2025-02-04 06:11:14 -08:00
Ed Page
6d1f6be115
chore(deps): update rust crate rand to 0.9.0 (#15129)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [rand](https://rust-random.github.io/book)
([source](https://redirect.github.com/rust-random/rand)) |
workspace.dependencies | minor | `0.8.5` -> `0.9.0` |

---

### Release Notes

<details>
<summary>rust-random/rand (rand)</summary>

###
[`v0.9.0`](https://redirect.github.com/rust-random/rand/blob/HEAD/CHANGELOG.md#090---2025-01-27)

[Compare
Source](https://redirect.github.com/rust-random/rand/compare/0.8.5...0.9.0)

##### Security and unsafe

- Policy: "rand is not a crypto library"
([#&#8203;1514](https://redirect.github.com/rust-random/rand/issues/1514))
- Remove fork-protection from `ReseedingRng` and `ThreadRng`. Instead,
it is recommended to call `ThreadRng::reseed` on fork.
([#&#8203;1379](https://redirect.github.com/rust-random/rand/issues/1379))
- Use `zerocopy` to replace some `unsafe` code
([#&#8203;1349](https://redirect.github.com/rust-random/rand/issues/1349),
[#&#8203;1393](https://redirect.github.com/rust-random/rand/issues/1393),
[#&#8203;1446](https://redirect.github.com/rust-random/rand/issues/1446),
[#&#8203;1502](https://redirect.github.com/rust-random/rand/issues/1502))

##### Dependencies

- Bump the MSRV to 1.63.0
([#&#8203;1207](https://redirect.github.com/rust-random/rand/issues/1207),
[#&#8203;1246](https://redirect.github.com/rust-random/rand/issues/1246),
[#&#8203;1269](https://redirect.github.com/rust-random/rand/issues/1269),
[#&#8203;1341](https://redirect.github.com/rust-random/rand/issues/1341),
[#&#8203;1416](https://redirect.github.com/rust-random/rand/issues/1416),
[#&#8203;1536](https://redirect.github.com/rust-random/rand/issues/1536));
note that 1.60.0 may work for dependents when using
`--ignore-rust-version`
- Update to `rand_core` v0.9.0
([#&#8203;1558](https://redirect.github.com/rust-random/rand/issues/1558))

##### Features

- Support `std` feature without `getrandom` or `rand_chacha`
([#&#8203;1354](https://redirect.github.com/rust-random/rand/issues/1354))
- Enable feature `small_rng` by default
([#&#8203;1455](https://redirect.github.com/rust-random/rand/issues/1455))
- Remove implicit feature `rand_chacha`; use `std_rng` instead.
([#&#8203;1473](https://redirect.github.com/rust-random/rand/issues/1473))
- Rename feature `serde1` to `serde`
([#&#8203;1477](https://redirect.github.com/rust-random/rand/issues/1477))
- Rename feature `getrandom` to `os_rng`
([#&#8203;1537](https://redirect.github.com/rust-random/rand/issues/1537))
- Add feature `thread_rng`
([#&#8203;1547](https://redirect.github.com/rust-random/rand/issues/1547))

##### API changes: rand_core traits

- Add fn `RngCore::read_adapter` implementing `std::io::Read`
([#&#8203;1267](https://redirect.github.com/rust-random/rand/issues/1267))
- Add trait `CryptoBlockRng: BlockRngCore`; make `trait CryptoRng:
RngCore`
([#&#8203;1273](https://redirect.github.com/rust-random/rand/issues/1273))
- Add traits `TryRngCore`, `TryCryptoRng`
([#&#8203;1424](https://redirect.github.com/rust-random/rand/issues/1424),
[#&#8203;1499](https://redirect.github.com/rust-random/rand/issues/1499))
- Rename `fn SeedableRng::from_rng` -> `try_from_rng` and add infallible
variant `fn from_rng`
([#&#8203;1424](https://redirect.github.com/rust-random/rand/issues/1424))
- Rename `fn SeedableRng::from_entropy` -> `from_os_rng` and add
fallible variant `fn try_from_os_rng`
([#&#8203;1424](https://redirect.github.com/rust-random/rand/issues/1424))
- Add bounds `Clone` and `AsRef` to associated type `SeedableRng::Seed`
([#&#8203;1491](https://redirect.github.com/rust-random/rand/issues/1491))

##### API changes: Rng trait and top-level fns

- Rename fn `rand::thread_rng()` to `rand::rng()` and remove from the
prelude
([#&#8203;1506](https://redirect.github.com/rust-random/rand/issues/1506))
- Remove fn `rand::random()` from the prelude
([#&#8203;1506](https://redirect.github.com/rust-random/rand/issues/1506))
- Add top-level fns `random_iter`, `random_range`, `random_bool`,
`random_ratio`, `fill`
([#&#8203;1488](https://redirect.github.com/rust-random/rand/issues/1488))
- Re-introduce fn `Rng::gen_iter` as `random_iter`
([#&#8203;1305](https://redirect.github.com/rust-random/rand/issues/1305),
[#&#8203;1500](https://redirect.github.com/rust-random/rand/issues/1500))
- Rename fn `Rng::gen` to `random` to avoid conflict with the new `gen`
keyword in Rust 2024
([#&#8203;1438](https://redirect.github.com/rust-random/rand/issues/1438))
- Rename fns `Rng::gen_range` to `random_range`, `gen_bool` to
`random_bool`, `gen_ratio` to `random_ratio`
([#&#8203;1505](https://redirect.github.com/rust-random/rand/issues/1505))
- Annotate panicking methods with `#[track_caller]`
([#&#8203;1442](https://redirect.github.com/rust-random/rand/issues/1442),
[#&#8203;1447](https://redirect.github.com/rust-random/rand/issues/1447))

##### API changes: RNGs

- Fix `<SmallRng as SeedableRng>::Seed` size to 256 bits
([#&#8203;1455](https://redirect.github.com/rust-random/rand/issues/1455))
- Remove first parameter (`rng`) of `ReseedingRng::new`
([#&#8203;1533](https://redirect.github.com/rust-random/rand/issues/1533))

##### API changes: Sequences

- Split trait `SliceRandom` into `IndexedRandom`, `IndexedMutRandom`,
`SliceRandom`
([#&#8203;1382](https://redirect.github.com/rust-random/rand/issues/1382))
- Add `IndexedRandom::choose_multiple_array`, `index::sample_array`
([#&#8203;1453](https://redirect.github.com/rust-random/rand/issues/1453),
[#&#8203;1469](https://redirect.github.com/rust-random/rand/issues/1469))

##### API changes: Distributions: renames

- Rename module `rand::distributions` to `rand::distr`
([#&#8203;1470](https://redirect.github.com/rust-random/rand/issues/1470))
- Rename distribution `Standard` to `StandardUniform`
([#&#8203;1526](https://redirect.github.com/rust-random/rand/issues/1526))
- Move `distr::Slice` -> `distr::slice::Choose`, `distr::EmptySlice` ->
`distr::slice::Empty`
([#&#8203;1548](https://redirect.github.com/rust-random/rand/issues/1548))
- Rename trait `distr::DistString` -> `distr::SampleString`
([#&#8203;1548](https://redirect.github.com/rust-random/rand/issues/1548))
- Rename `distr::DistIter` -> `distr::Iter`, `distr::DistMap` ->
`distr::Map`
([#&#8203;1548](https://redirect.github.com/rust-random/rand/issues/1548))

##### API changes: Distributions

- Relax `Sized` bound on `Distribution<T> for &D`
([#&#8203;1278](https://redirect.github.com/rust-random/rand/issues/1278))
- Remove impl of `Distribution<Option<T>>` for `StandardUniform`
([#&#8203;1526](https://redirect.github.com/rust-random/rand/issues/1526))
- Let distribution `StandardUniform` support all `NonZero*` types
([#&#8203;1332](https://redirect.github.com/rust-random/rand/issues/1332))
- Fns `{Uniform, UniformSampler}::{new, new_inclusive}` return a
`Result` (instead of potentially panicking)
([#&#8203;1229](https://redirect.github.com/rust-random/rand/issues/1229))
- Distribution `Uniform` implements `TryFrom` instead of `From` for
ranges
([#&#8203;1229](https://redirect.github.com/rust-random/rand/issues/1229))
- Add `UniformUsize`
([#&#8203;1487](https://redirect.github.com/rust-random/rand/issues/1487))
- Remove support for generating `isize` and `usize` values with
`StandardUniform`, `Uniform` (except via `UniformUsize`) and `Fill` and
usage as a `WeightedAliasIndex` weight
([#&#8203;1487](https://redirect.github.com/rust-random/rand/issues/1487))
- Add impl `DistString` for distributions `Slice<char>` and
`Uniform<char>`
([#&#8203;1315](https://redirect.github.com/rust-random/rand/issues/1315))
- Add fn `Slice::num_choices`
([#&#8203;1402](https://redirect.github.com/rust-random/rand/issues/1402))
- Add fn `p()` for distribution `Bernoulli` to access probability
([#&#8203;1481](https://redirect.github.com/rust-random/rand/issues/1481))

##### API changes: Weighted distributions

- Add `pub` module `rand::distr::weighted`, moving `WeightedIndex` there
([#&#8203;1548](https://redirect.github.com/rust-random/rand/issues/1548))
- Add trait `weighted::Weight`, allowing `WeightedIndex` to trap
overflow
([#&#8203;1353](https://redirect.github.com/rust-random/rand/issues/1353))
- Add fns `weight, weights, total_weight` to distribution
`WeightedIndex`
([#&#8203;1420](https://redirect.github.com/rust-random/rand/issues/1420))
- Rename enum `WeightedError` to `weighted::Error`, revising variants
([#&#8203;1382](https://redirect.github.com/rust-random/rand/issues/1382))
and mark as `#[non_exhaustive]`
([#&#8203;1480](https://redirect.github.com/rust-random/rand/issues/1480))

##### API changes: SIMD

- Switch to `std::simd`, expand SIMD & docs
([#&#8203;1239](https://redirect.github.com/rust-random/rand/issues/1239))

##### Reproducibility-breaking changes

- Make `ReseedingRng::reseed` discard remaining data from the last block
generated
([#&#8203;1379](https://redirect.github.com/rust-random/rand/issues/1379))
- Change fn `SmallRng::seed_from_u64` implementation
([#&#8203;1203](https://redirect.github.com/rust-random/rand/issues/1203))
- Allow `UniformFloat::new` samples and `UniformFloat::sample_single` to
yield `high`
([#&#8203;1462](https://redirect.github.com/rust-random/rand/issues/1462))
- Fix portability of distribution `Slice`
([#&#8203;1469](https://redirect.github.com/rust-random/rand/issues/1469))
- Make `Uniform` for `usize` portable via `UniformUsize`
([#&#8203;1487](https://redirect.github.com/rust-random/rand/issues/1487))
- Fix `IndexdRandom::choose_multiple_weighted` for very small seeds and
optimize for large input length / low memory
([#&#8203;1530](https://redirect.github.com/rust-random/rand/issues/1530))

##### Reproducibility-breaking optimisations

- Optimize fn `sample_floyd`, affecting output of
`rand::seq::index::sample` and `rand::seq::SliceRandom::choose_multiple`
([#&#8203;1277](https://redirect.github.com/rust-random/rand/issues/1277))
- New, faster algorithms for `IteratorRandom::choose` and
`choose_stable`
([#&#8203;1268](https://redirect.github.com/rust-random/rand/issues/1268))
- New, faster algorithms for `SliceRandom::shuffle` and
`partial_shuffle`
([#&#8203;1272](https://redirect.github.com/rust-random/rand/issues/1272))
- Optimize distribution `Uniform`: use Canon's method (single sampling)
/ Lemire's method (distribution sampling) for faster sampling (breaks
value stability;
[#&#8203;1287](https://redirect.github.com/rust-random/rand/issues/1287))
- Optimize fn `sample_single_inclusive` for floats (+~20% perf)
([#&#8203;1289](https://redirect.github.com/rust-random/rand/issues/1289))

##### Other optimisations

- Improve `SmallRng` initialization performance
([#&#8203;1482](https://redirect.github.com/rust-random/rand/issues/1482))
- Optimise SIMD widening multiply
([#&#8203;1247](https://redirect.github.com/rust-random/rand/issues/1247))

##### Other

- Add `Cargo.lock.msrv` file
([#&#8203;1275](https://redirect.github.com/rust-random/rand/issues/1275))
- Reformat with `rustfmt` and enforce
([#&#8203;1448](https://redirect.github.com/rust-random/rand/issues/1448))
- Apply Clippy suggestions and enforce
([#&#8203;1448](https://redirect.github.com/rust-random/rand/issues/1448),
[#&#8203;1474](https://redirect.github.com/rust-random/rand/issues/1474))
- Move all benchmarks to new `benches` crate
([#&#8203;1329](https://redirect.github.com/rust-random/rand/issues/1329),
[#&#8203;1439](https://redirect.github.com/rust-random/rand/issues/1439))
and migrate to Criterion
([#&#8203;1490](https://redirect.github.com/rust-random/rand/issues/1490))

##### Documentation

- Improve `ThreadRng` related docs
([#&#8203;1257](https://redirect.github.com/rust-random/rand/issues/1257))
- Docs: enable experimental `--generate-link-to-definition` feature
([#&#8203;1327](https://redirect.github.com/rust-random/rand/issues/1327))
- Better doc of crate features, use `doc_auto_cfg`
([#&#8203;1411](https://redirect.github.com/rust-random/rand/issues/1411),
[#&#8203;1450](https://redirect.github.com/rust-random/rand/issues/1450))

</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.

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNDUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE0NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2025-02-03 22:19:09 +00:00
Weihang Lo
eddd7ec6f7
Remove the original changelog (#15123)
This removes the original changelog now that it is located in the cargo
book.

This places a notice in the original location that it has moved to a new
place. There are a few other alternatives we could consider:
* Keep the headings but replace the content with a link. This would make
it a little easier for someone to jump to the exact position in the new
page. However, it looks a little messy. Each section could be something
like:

> This content has moved to
[CHANGELOG.md#186-2025-04-03](https://doc.rust-lang.org/cargo/nightly/CHANGELOG.md#186-2025-04-03)

* Keep the content, with a notice at the top that the page is no longer
being updated. I was a little uncomfortable with this, since I wasn't
sure people would see the notice, it duplicates some content, and still
leaves the potential problems of GitHub not rendering the page. If we
cut some content, it ensures the page still renders reliably.
* As a variant, we could delete the content but keep the last 1 or 2
releases since those are probably what people will be looking for.

Opening as draft until https://github.com/rust-lang/cargo/pull/15119 is
published on nightly.
2025-02-03 22:13:23 +00:00
Ed Page
990c7f41e0
chore(deps): update rust crate gix to 0.70.0 (#15128)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [gix](https://redirect.github.com/GitoxideLabs/gitoxide) |
workspace.dependencies | minor | `0.69.1` -> `0.70.0` |

---

### Release Notes

<details>
<summary>GitoxideLabs/gitoxide (gix)</summary>

###
[`v0.70.0`](https://redirect.github.com/GitoxideLabs/gitoxide/releases/tag/gix-v0.70.0):
gix v0.70.0

[Compare
Source](https://redirect.github.com/GitoxideLabs/gitoxide/compare/gix-v0.69.1...gix-v0.70.0)

##### Chore

- <csr-id-17835bccb066bbc47cc137e8ec5d9fe7d5665af0/> bump `rust-version`
to 1.70
That way clippy will allow to use the fantastic `Option::is_some_and()`
    and friends.

##### New Features

- add
`Repository::upstream_branch_and_remote_name_for_tracking_branch()`
    It's a way to learn about the Remote and upstream branch which would
    match the given local tracking branch.
-   more often check for interrupts in status iterator
- add `tree::Editor|editor::Cursor::get()` to see if an entry is loaded
at path.
This can be useful to get a feeling for how far the tree was already
made available,
    even though it won't reveal if an entry was edited.
-   `Repository::is_dirty()` now also checks for tree/index changes.
    This copmpletes the `is_dirty()` implementation.
- `Repository::tree_index_status()` to see the changes between a tree
and an index.
It also respects `status.rename` and `status.renameLimit` to configure
rename tracking.
-   add `Tree::depthfirst()` with a delegate.
    This allows a depth-first traversal with a delegate.
-   Add `blame` plumbing crate to the top-level.
    For now, it doesn't come with a simplified `gix` API though.

##### Bug Fixes

- `Repository::status()` detects files added to the index in an unborn
repository.
    Previously it wouldn't show them.
-   `Respository::status()` iterator won't fail in unborn directories.
-   worktrees of submodules now know their correct worktree
Previously they would use a very incorrect worktree which would cause
    the status to be calculated very wrongly.
- status-iterator won't swallow legitimate modification during
'racy-git'.
When a modification is marked as being racy, then previously the
iterator would have
kept the whole modification even though it should just have tracked the
single change.

    This made the legitimate modification disappear.
-   `write_blob_stream()` does not need `Seek` trait anymore.
Internally, it has to turn it into a buffer so it's not needed anymore.
It also counteracts the idea of using a stream with arbitrarily big
files.
-   `Submodule::status()` now konws about tree-index changes as well.
    This completes the status implementation.
-   remove unused fetch-error variants
Note that it's a breaking change, but it's on top of a previous breaking
change
    so folks would already have to update explicitly.

##### Other

- <csr-id-9db21601b61601c01cd2419543e2c461a7dd568d/> make really clear
that `Repository::worktrees()` lists linked worktrees.
    Excluding the main worktree which isn't always present.

##### New Features (BREAKING)

-   add `status::Platform::into_iter()` for obtaining a complete status.
    Note that it is still possible to disable the head-index status.

    Types moved around, effectivey removing the `iter::` module for most
    more general types, i.e. those that are quite genericlally useful in
    a status.

##### Bug Fixes (BREAKING)

-   all `config::Snapshot` access now uses the new `Key` trait.
That way one can officially use "section.name" strings or
`&Section::NAME`.

##### Commit Statistics

- 40 commits contributed to the release over the course of 27 calendar
days.
-   27 days passed between releases.
- 18 commits were understood as
[conventional](https://www.conventionalcommits.org).
- 1 unique issue was worked on:
[#&#8203;1770](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1770)

##### Thanks Clippy

[Clippy](https://redirect.github.com/rust-lang/rust-clippy) helped 1
time to make code idiomatic.

##### Commit Details

<csr-read-only-do-not-edit/>

<details><summary>view details</summary>

-
**[#&#8203;1770](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1770)**
- `Repository::status()` detects files added to the index in an unborn
repository.
([`cd8fabf`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/cd8fabf))
-   **Uncategorized**
- Update all changelogs prior to release
([`1f6390c`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/1f6390c))
- Merge pull request
[#&#8203;1774](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1774)
from EliahKagan/complex-graph-no-baseline-next
([`90e08f1`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/90e08f1))
- Use parse_spec_no_baseline with :/ for all 2.47.\* on CI
([`fe33fa7`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/fe33fa7))
- Merge pull request
[#&#8203;1772](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1772)
from GitoxideLabs/improvements
([`4c8200f`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/4c8200f))
- Merge pull request
[#&#8203;1769](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1769)
from GitoxideLabs/improvements
([`47e44c5`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/47e44c5))
- `Respository::status()` iterator won't fail in unborn directories.
([`84019cb`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/84019cb))
- Merge pull request
[#&#8203;1768](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1768)
from GitoxideLabs/improvements
([`34fa6bb`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/34fa6bb))
- Adapt to changes in `gix-status`
([`25d480c`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/25d480c))
- Merge pull request
[#&#8203;1750](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1750)
from GitoxideLabs/odb-issue
([`e4fb21e`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/e4fb21e))
- Reproduce issue with 'too many packs' for slotmap
([`dbf079f`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/dbf079f))
- Merge pull request
[#&#8203;1763](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1763)
from GitoxideLabs/better-refspec-primitives
([`af8f201`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/af8f201))
- Add
`Repository::upstream_branch_and_remote_name_for_tracking_branch()`
([`da0e1c7`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/da0e1c7))
- Adapt to changes in `gix-refspec`
([`6d7dd9b`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/6d7dd9b))
- Merge pull request
[#&#8203;1762](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1762)
from GitoxideLabs/fix-1759
([`7ec21bb`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/7ec21bb))
- Bump `rust-version` to 1.70
([`17835bc`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/17835bc))
- Make really clear that `Repository::worktrees()` lists linked
worktrees.
([`9db2160`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/9db2160))
- Worktrees of submodules now know their correct worktree
([`bc02284`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/bc02284))
- Merge pull request
[#&#8203;1752](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1752)
from GitoxideLabs/git-shell
([`1ca480a`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/1ca480a))
- Thanks clippy
([`9193b05`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/9193b05))
- Merge pull request
[#&#8203;1749](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1749)
from GitoxideLabs/status
([`8d84818`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/8d84818))
- More often check for interrupts in status iterator
([`5b6e5c8`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/5b6e5c8))
- Merge pull request
[#&#8203;1746](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1746)
from GitoxideLabs/status
([`af704f5`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/af704f5))
- Add `tree::Editor|editor::Cursor::get()` to see if an entry is loaded
at path.
([`3b53982`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/3b53982))
- Status-iterator won't swallow legitimate modification during
'racy-git'.
([`3bbd1f7`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/3bbd1f7))
- `write_blob_stream()` does not need `Seek` trait anymore.
([`a03bde5`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/a03bde5))
- Merge pull request
[#&#8203;1410](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1410)
from GitoxideLabs/status
([`0ab4f64`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/0ab4f64))
- `Submodule::status()` now konws about tree-index changes as well.
([`a987e68`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/a987e68))
- Add `status::Platform::into_iter()` for obtaining a complete status.
([`801689b`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/801689b))
- All `config::Snapshot` access now uses the new `Key` trait.
([`a6f397f`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/a6f397f))
- `Repository::is_dirty()` now also checks for tree/index changes.
([`8ae9e57`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/8ae9e57))
- `Repository::tree_index_status()` to see the changes between a tree
and an index.
([`83f3d93`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/83f3d93))
- Add `Tree::depthfirst()` with a delegate.
([`592e250`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/592e250))
- Adapt to changes in `gix-traverse`
([`1de4e70`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/1de4e70))
- Merge pull request
[#&#8203;1453](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1453)
from cruessler/gix-blame
([`6ed9976`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/6ed9976))
- Add `blame` plumbing crate to the top-level.
([`25efbfb`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/25efbfb))
- Release gix v0.69.1
([`7659a65`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/7659a65))
- Merge pull request
[#&#8203;1740](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1740)
from GitoxideLabs/cargo-improvements
([`3fb0c18`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/3fb0c18))
- Remove unused fetch-error variants
([`51a4301`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/51a4301))
- Merge pull request
[#&#8203;1739](https://redirect.github.com/GitoxideLabs/gitoxide/issues/1739)
from GitoxideLabs/new-release
([`d22937f`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/d22937f))

</details>

</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.

🔕 **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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNDUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE0NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2025-02-03 21:30:17 +00:00
Ed Page
08055a443c refactor: Resolve deprecations 2025-02-03 15:07:36 -06:00
Eric Huss
e82878c66c
allow windows reserved names in CI (#15135)
<!--
Thanks for submitting a pull request 🎉! Here are some tips for you:

* If this is your first contribution, read "Cargo Contribution Guide"
first:
  https://doc.crates.io/contrib/
* Run `cargo fmt --all` to format your code changes.
* Small commits and pull requests are always preferable and easy to
review.
* If your idea is large and needs feedback from the community, read how:
  https://doc.crates.io/contrib/process/#working-on-large-features
* Cargo takes care of compatibility. Read our design principles:
  https://doc.crates.io/contrib/design.html
* When changing help text of cargo commands, follow the steps to
generate docs:

https://github.com/rust-lang/cargo/tree/master/src/doc#building-the-man-pages
* If your PR is not finished, set it as "draft" PR or add "WIP" in its
title.
* It's ok to use the CI resources to test your PR, but please don't
abuse them.

### What does this PR try to resolve?

Explain the motivation behind this change.
A clear overview along with an in-depth explanation are helpful.

You can use `Fixes #<issue number>` to associate this PR to an existing
issue.

### How should we test and review this PR?

Demonstrate how you test this change and guide reviewers through your
PR.
With a smooth review process, a pull request usually gets reviewed
quicker.

If you don't know how to write and run your tests, please read the
guide:
https://doc.crates.io/contrib/tests

### Additional information

Other information you want to mention in this PR, such as prior arts,
future extensions, an unresolved problem, or a TODO list.
-->

We are progressively moving the windows CI from windows 2022 to windows
2025 because we found windows 2025 more stable.

In https://github.com/rust-lang/rust/pull/136478 a cargo test failed and
this might solve the issue. See
[this](https://github.com/rust-lang/rust/pull/136478#issuecomment-2631307932)
comment. What do you think?

If you have a better way of solving this, let me know 👍
2025-02-03 20:54:43 +00:00
Ed Page
5408bd9f52 fix: Update generic 'did you meann' reports to not say that 2025-02-03 13:07:47 -06:00
Ed Page
c2023a14e1 fix(cli): Don't use 'did you mean' on unknown command errors 2025-02-03 12:58:53 -06:00
Ed Page
fefd9fbb32
removed a word that was repeated (#15136)
Hey there,

While reading the documentation, I noticed that the word 'considered'
was written two times. So I removed one.

Thank you!

<!--
Thanks for submitting a pull request 🎉! Here are some tips for you:

* If this is your first contribution, read "Cargo Contribution Guide"
first:
  https://doc.crates.io/contrib/
* Run `cargo fmt --all` to format your code changes.
* Small commits and pull requests are always preferable and easy to
review.
* If your idea is large and needs feedback from the community, read how:
  https://doc.crates.io/contrib/process/#working-on-large-features
* Cargo takes care of compatibility. Read our design principles:
  https://doc.crates.io/contrib/design.html
* When changing help text of cargo commands, follow the steps to
generate docs:

https://github.com/rust-lang/cargo/tree/master/src/doc#building-the-man-pages
* If your PR is not finished, set it as "draft" PR or add "WIP" in its
title.
* It's ok to use the CI resources to test your PR, but please don't
abuse them.

### What does this PR try to resolve?

Explain the motivation behind this change.
A clear overview along with an in-depth explanation are helpful.

You can use `Fixes #<issue number>` to associate this PR to an existing
issue.

### How should we test and review this PR?

Demonstrate how you test this change and guide reviewers through your
PR.
With a smooth review process, a pull request usually gets reviewed
quicker.

If you don't know how to write and run your tests, please read the
guide:
https://doc.crates.io/contrib/tests

### Additional information

Other information you want to mention in this PR, such as prior arts,
future extensions, an unresolved problem, or a TODO list.
-->
2025-02-03 18:46:29 +00:00
Ed Page
e090b6fcd6 fix(spec): Don't use 'did you mean' for PackageIdSpec errors 2025-02-03 12:26:47 -06:00
Bilal Khan
ca1d8f640e removed a word that was repeated 2025-02-03 23:13:57 +05:00
MarcoIeni
54f97e28fd
allow windows reserved names in CI 2025-02-03 17:51:51 +01:00
Ed Page
759178e42b fix(cli): Don't use 'did you mean' for +toolchain errors 2025-02-03 10:37:53 -06:00