19692 Commits

Author SHA1 Message Date
Rustin170506
75a8cdd5a9 fix: default to all targets when using --edition and --edition-idioms in cargo fix
Signed-off-by: Rustin170506 <techregister@pm.me>
2025-04-16 17:21:51 +08:00
Rustin170506
69f398f647 test: add tests for fixing edition and edition idioms
Signed-off-by: Rustin170506 <techregister@pm.me>
2025-03-06 21:57:36 +08:00
Ed Page
bf43053405
feat: show extra build description from bootstrap (#15269)
### What does this PR try to resolve?

`CFG_VER_DESCRIPTION` is descriptive string to be appended to version
output.

This is usually set by the bootstrap in rust-lang/rust. Useful for
showing vendor build information.

See <https://github.com/rust-lang/rust/pull/137723>.

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

```bash
CFG_VER_DESCRIPTION="My Awesome Rust Distribution" cargo b
target/debug/cargo version
```
2025-03-05 21:05:04 +00:00
Weihang Lo
7c0b2bdb11
feat: show extra build description from bootstrap
`CFG_VER_DESCRIPTION` is descriptive string to be
appended to version output.

This is usually set by the bootstrap in rust-lang/rust.
Useful for showing vendor build information.

See <https://github.com/rust-lang/rust/pull/137723>.
2025-03-05 15:11:37 -05:00
Ed Page
15f315d3ca
Upgrade to rustc-stable-hash v0.1.2 (#15268)
This update makes the stable hasher consistent across endianness, fixing
cargo's `test_stable_hash` on big-endian targets to match the
little-endian expected values.

Fixes #15265
2025-03-05 18:37:26 +00:00
Josh Stone
b14ecb0eb6 Upgrade to rustc-stable-hash v0.1.2 2025-03-05 10:05:03 -08:00
Weihang Lo
c14c1c0e19
fix: Respect --frozen everywhere --offline or --locked is accepted (#15263)
### What does this PR try to resolve?

Fixes #15239

This also makes `--frozen` be respected in more situations, including

* `cargo add`
* `cargo install`
* Git fetches
* HTTP registry access

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

To prevent this from happening again, I removed `offline()` and
`locked()` accessors. To maintain the quality of error messages, I added
`offline_flag()` and `locked_flag()` that will pick up `--frozen`, if
present.

### Additional information
2025-03-04 20:25:07 +00:00
Weihang Lo
615a6f87c3
feat(tree): Color the output (#15242)
### What does this PR try to resolve?

This is an experiment to find ways to make `cargo tree` output easier to
grok. I find too many details are hard to spot because everything looks
the same.

![image](https://github.com/user-attachments/assets/92055027-c7a0-4357-9870-400ba6c2de9c)

The goal is to make it easier to scan the output for relevant details.
So far, this approach seems the most viable. Knowing what type of edges
led to where you are provides useful context for scrolling through large
lists of dependencies.

Fixes #10558

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

I had considered styling normal dependency edges but there isn't a
header to clarify what they mean, so I decided to match the package name
as that is the header. So this didn't buy as much as I had hoped,
especially since dimmed lines aren't obvious with my terminal. Maybe if
we used different unicode graph characters.

Instead of coloring the "this is elided" `(*)`, I had considered using a
unicode character that looks like its pointing from that item up. I only
found one that looked close to that but the origin for the arrow was
bottom aligned, rather than center aligned and it looked off.

Alternatives considered
- Once an edge is marked with dev or build dependencies, all future
edges inherit it
- While this makes it clear what section you are in, so does the outer
most line
- Feature edges are the color of the edges that led to them
  - Unsure of value either way
  - This might get weird with `--invert`
- Style local nodes different than non-local
- With the format string being user customizable, I'm concerned with
styling over or within user styling
- Rainbow packages: For every package in the same namespace
(`.split_once("::").0`) or prefix (`.split_once(['-','_']).0`), assign a
color (maybe only for the top N packages to reduce duplicate colors)
  - Would help a lot with `gix-*` and similar other cases
- If we cap the number of participating packages, would need care to
work with `--depth`

(of course,. these could be mixed)

### Additional information
2025-03-04 18:47:52 +00:00
Ed Page
5a1a22310f refactor(context): Remove unused functions 2025-03-04 11:03:27 -06:00
Ed Page
2f35b633d8 fix(registry): Respect --frozen like --offline 2025-03-04 11:03:27 -06:00
Ed Page
e115c3c913 fix(resolver): Consider --frozen, like --offline, in errors 2025-03-04 11:03:27 -06:00
Ed Page
55cf9806c5 fix(git): Respect --frozen like --offline 2025-03-04 10:56:55 -06:00
Ed Page
52a271f217 refactor(context): Remove unused locked lookup 2025-03-04 10:50:30 -06:00
Ed Page
7fdeda41bd fix(install): Also require a lockfile for --frozen 2025-03-04 10:50:30 -06:00
Ed Page
108b05a488 fix(add): Also respect --frozen for preventing edits 2025-03-04 10:50:30 -06:00
Ed Page
40d6ac63c9 refactor(context): Abstract lookup for locked flag 2025-03-04 10:50:30 -06:00
Ed Page
c576f68f10 refactor(context): Abstract lookup for offline flag 2025-03-04 10:39:26 -06:00
Ed Page
29f8d039bb
fix(vendor): dont remove non-cached source (#15260)
### What does this PR try to resolve?

Fixes #15244

With this fix,
`cargo vendor` will not delete original sources,
if you want to vendor things from one directory sources to the other

#### Background

cargo-vendor has a workaround that to mitigate #5956:
it removes all cached sources in order to trigger a re-unpack.
It was meant for dealing with registry sources only,
but accidentally applied to directory source kind.

While directory source kind was invented for vendoring,
and vendoring from one vendored directory to the other seems unusual,
Cargo IMO should not delete any real sources.

It does not mean that registry sources are okay to delete,
In long term, we should explore a way that unpacks `.crate` files
directly, without any removal. See
https://github.com/rust-lang/cargo/pull/12509#issuecomment-1732415990

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

The added test should suffice.

Also, although this is for fixing #15244,
`cargo vendor` still doesn't support vendor from and to the same
location.
Unless we figure out an `rsync`-like solutin to update vendor sources,
it is not going to support in short term.
(And I also doubt the real world use case of it)

### Additional information
2025-03-04 02:25:41 +00:00
Weihang Lo
9e18e48f8c
fix(vendor): dont remove non-cached source
cargo-vendor has a workaround that to mitigate rust-lang/cargo#5956,
it removes all cached sources in order to trigger a re-unpack.
It was meant for dealing with registry sources only, but accidentally
applied to directory source kind.

While directory source kind was invented for vendoring,
and vendoring from one vendored directory to the other seems unusual,
Cargo IMO should not delete any real sources.

It does not mean that registry sources are okay to delete,
In long term, we should explore a way that unpacks `.crate` files
directly, without any removal. See
https://github.com/rust-lang/cargo/pull/12509#issuecomment-1732415990
2025-03-03 20:47:44 -05:00
Weihang Lo
48f147cd0f
test: show problematic behavior that delete non-cached sources
Sources like directory sources (which usually are vendored source)
likely contains real sources not cached sources.
Cargo shouldn't delete them.
2025-03-03 20:16:53 -05:00
Ed Page
abe461c48d
docs: lockfile is always included since 1.84 (#15257)
### What does this PR try to resolve?

This was changed in <https://github.com/rust-lang/cargo/pull/14815>
since 1.84 but we missed some doc updates.
2025-03-03 15:11:46 +00:00
Weihang Lo
d67810fb6d
Remove Cargo.toml from package.include in example (#15253)
https://doc.rust-lang.org/cargo/reference/manifest.html#the-exclude-and-include-fields

>The following files are always included:
>
>* The `Cargo.toml` file of the package itself is always included, it
does not need to be listed in `include`.
2025-03-03 02:53:41 +00:00
Zane
a8d1beb8ec
Add link to "The exclude and include fields" in example 2025-03-02 20:47:26 -05:00
Weihang Lo
74544f176a
docs: lockfile is always included since 1.84 2025-03-02 20:00:02 -05:00
Weihang Lo
1d028ccdab
Small cleanup: remove unneeded result (#15256) 2025-03-02 19:23:15 +00:00
Orion Gonzalez
08b3944af4 fn needs not be failable. 2025-03-02 16:59:29 +01:00
Weihang Lo
6dbd22285e
Fix typo in build-scripts.md (#15254)
vaue -> value

<!--
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-03-02 14:21:56 +00:00
joshua you
eaca29dfa3
Fix typo in build-scripts.md
vaue -> value
2025-03-02 01:11:25 -08:00
Zane
7f6ea1a06d
Remove Cargo.toml from package.include in example 2025-03-02 00:55:52 -05:00
Eric Huss
592fd2ea2f
chore(deps): update rust crate pulldown-cmark to 0.13.0 (#15250)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [pulldown-cmark](https://redirect.github.com/raphlinus/pulldown-cmark)
| workspace.dependencies | minor | `0.12.2` -> `0.13.0` |

---

### Release Notes

<details>
<summary>raphlinus/pulldown-cmark (pulldown-cmark)</summary>

###
[`v0.13.0`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.13.0)

[Compare
Source](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.12.2...v0.13.0)

#### Breaking Changes

- super and sub script support by
[@&#8203;jim-taylor-business](https://redirect.github.com/jim-taylor-business)
in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/966](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/966)
- Implement extension WikiLinks; `Options::ENABLE_WIKILINKS` by
[@&#8203;frostu8](https://redirect.github.com/frostu8) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/991](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/991)

#### New Features

- feat: add `-D` CLI option to enable definition lists by
[@&#8203;ytmimi](https://redirect.github.com/ytmimi) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/972](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/972)

#### Bug Fixes and Code Enhancements

- Safer definition lists implementation by
[@&#8203;mondeja](https://redirect.github.com/mondeja) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/974](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/974)
- Factor duplicate code out of parsers by
[@&#8203;notriddle](https://redirect.github.com/notriddle) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/976](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/976)
- Stop using string slicing for math where bytes will do by
[@&#8203;notriddle](https://redirect.github.com/notriddle) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/977](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/977)
- Make indent calc for definition lists match commonmark-hs closer by
[@&#8203;notriddle](https://redirect.github.com/notriddle) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/978](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/978)
- Ensure "parse" fuzz target covers all options by
[@&#8203;ollpu](https://redirect.github.com/ollpu) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/980](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/980)
- Change subscript CLI flag to -B by
[@&#8203;ollpu](https://redirect.github.com/ollpu) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/993](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/993)
- Fix OOB access due to erroneous shift in process_mask by
[@&#8203;ollpu](https://redirect.github.com/ollpu) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/990](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/990)
- Use slice patterns for `unescape` by
[@&#8203;notriddle](https://redirect.github.com/notriddle) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/996](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/996)
- Use slice patterns for `scan_eol` by
[@&#8203;notriddle](https://redirect.github.com/notriddle) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/998](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/998)
- Stop using scan_ch when get will do by
[@&#8203;notriddle](https://redirect.github.com/notriddle) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/1003](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/1003)
- Fix panic when symbols are present in wikilink before pipe by
[@&#8203;frostu8](https://redirect.github.com/frostu8) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/1004](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/1004)
- Added a WASM build step to github actions
[#&#8203;1005](https://redirect.github.com/raphlinus/pulldown-cmark/issues/1005)
by [@&#8203;rimutaka](https://redirect.github.com/rimutaka) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/1006](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/1006)
- Use an explicit node for tight paragraphs by
[@&#8203;notriddle](https://redirect.github.com/notriddle) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/1015](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/1015)
- Fix tasklist parsing bugs by
[@&#8203;notriddle](https://redirect.github.com/notriddle) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/1017](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/1017)
- Prevent definition list defs from interrupting non-paragraphs by
[@&#8203;notriddle](https://redirect.github.com/notriddle) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/1018](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/1018)

#### Docs

- Add basic skeleton for developer docs by
[@&#8203;systemsoverload](https://redirect.github.com/systemsoverload)
in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/988](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/988)
- docs: Added a doc-comment for ENABLE_SMART_PUNCTUATION option. by
[@&#8203;rimutaka](https://redirect.github.com/rimutaka) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/1007](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/1007)
- Document more Events and Tags by
[@&#8203;ModProg](https://redirect.github.com/ModProg) in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/1010](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/1010)

#### New Contributors

- [@&#8203;ytmimi](https://redirect.github.com/ytmimi) made their first
contribution in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/972](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/972)
- [@&#8203;mondeja](https://redirect.github.com/mondeja) made their
first contribution in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/974](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/974)
-
[@&#8203;jim-taylor-business](https://redirect.github.com/jim-taylor-business)
made their first contribution in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/966](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/966)
- [@&#8203;systemsoverload](https://redirect.github.com/systemsoverload)
made their first contribution in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/988](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/988)
- [@&#8203;frostu8](https://redirect.github.com/frostu8) made their
first contribution in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/991](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/991)
- [@&#8203;rimutaka](https://redirect.github.com/rimutaka) made their
first contribution in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/1006](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/1006)
- [@&#8203;ModProg](https://redirect.github.com/ModProg) made their
first contribution in
[https://github.com/pulldown-cmark/pulldown-cmark/pull/1010](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/1010)

**Full Changelog**:
https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.12.2...v0.13.0

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2025-03-01 19:41:25 +00:00
Eric Huss
fae82d8efa Update to pulldown-cmark 0.13 API changes 2025-03-01 11:13:42 -08:00
Eric Huss
df377583d2
chore(deps): update compatible (#15249)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://redirect.github.com/dtolnay/anyhow) |
workspace.dependencies | patch | `1.0.95` -> `1.0.96` |
| [blake3](https://redirect.github.com/BLAKE3-team/BLAKE3) |
workspace.dependencies | minor | `1.5.5` -> `1.6.1` |
| [clap](https://redirect.github.com/clap-rs/clap) |
workspace.dependencies | patch | `4.5.28` -> `4.5.31` |
| [clap_complete](https://redirect.github.com/clap-rs/clap) |
workspace.dependencies | patch | `4.5.44` -> `4.5.46` |
| [curl-sys](https://redirect.github.com/alexcrichton/curl-rust) |
workspace.dependencies | patch | `0.4.79+curl-8.12.0` -> `0.4.80` |
| [flate2](https://redirect.github.com/rust-lang/flate2-rs) |
workspace.dependencies | minor | `1.0.35` -> `1.1.0` |
| [libc](https://redirect.github.com/rust-lang/libc) |
workspace.dependencies | patch | `0.2.169` -> `0.2.170` |
| [serde](https://serde.rs)
([source](https://redirect.github.com/serde-rs/serde)) |
workspace.dependencies | patch | `1.0.217` -> `1.0.218` |
| [serde_json](https://redirect.github.com/serde-rs/json) |
workspace.dependencies | patch | `1.0.138` -> `1.0.139` |
| [tar](https://redirect.github.com/alexcrichton/tar-rs) |
workspace.dependencies | patch | `0.4.43` -> `0.4.44` |
| [tempfile](https://stebalien.com/projects/tempfile-rs/)
([source](https://redirect.github.com/Stebalien/tempfile)) |
workspace.dependencies | minor | `3.16.0` -> `3.17.1` |
| [toml_edit](https://redirect.github.com/toml-rs/toml) |
workspace.dependencies | patch | `0.22.23` -> `0.22.24` |
| [unicode-ident](https://redirect.github.com/dtolnay/unicode-ident) |
workspace.dependencies | patch | `1.0.16` -> `1.0.17` |

---

### Release Notes

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

###
[`v1.0.96`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.96)

[Compare
Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.95...1.0.96)

-   Documentation improvements

</details>

<details>
<summary>BLAKE3-team/BLAKE3 (blake3)</summary>

###
[`v1.6.1`](https://redirect.github.com/BLAKE3-team/BLAKE3/releases/tag/1.6.1)

[Compare
Source](https://redirect.github.com/BLAKE3-team/BLAKE3/compare/1.6.0...1.6.1)

version 1.6.1

Changes since 1.6.0:

-   Remove `mmap` from the default features list. It was added
    accidentally in v1.6.0, last week. This is technically a
backwards-incompatible change, but I would rather not tag v2.0.0 for a
    build-time bugfix with a simple workaround.

###
[`v1.6.0`](https://redirect.github.com/BLAKE3-team/BLAKE3/releases/tag/1.6.0)

[Compare
Source](https://redirect.github.com/BLAKE3-team/BLAKE3/compare/1.5.5...1.6.0)

version 1.6.0

Changes since 1.5.5:

- Add Hash::from_slice.
([#&#8203;448](https://redirect.github.com/BLAKE3-team/BLAKE3/issues/448))
- Fix a build error on Windows 7 targets.
([#&#8203;447](https://redirect.github.com/BLAKE3-team/BLAKE3/issues/447))

</details>

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

###
[`v4.5.31`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4531---2025-02-24)

[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.30...v4.5.31)

##### Features

-   Add `ValueParserFactory` for `Saturating<T>`

###
[`v4.5.30`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4530---2025-02-17)

[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.29...v4.5.30)

##### Fixes

-   *(assert)* Allow `num_args(0..=1)` to be used with `SetTrue`
-   *(assert)* Clean up rendering of `takes_values` assertions

###
[`v4.5.29`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4529---2025-02-11)

[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.28...v4.5.29)

##### Fixes

- Change `ArgMatches::args_present` so not-present flags are considered
not-present (matching the documentation)

</details>

<details>
<summary>alexcrichton/curl-rust (curl-sys)</summary>

###
[`v0.4.80`](https://redirect.github.com/alexcrichton/curl-rust/compare/curl-sys-0.4.79...curl-sys-0.4.80)

[Compare
Source](https://redirect.github.com/alexcrichton/curl-rust/compare/curl-sys-0.4.79...curl-sys-0.4.80)

</details>

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

###
[`v1.1.0`](https://redirect.github.com/rust-lang/flate2-rs/releases/tag/1.1.0)

[Compare
Source](https://redirect.github.com/rust-lang/flate2-rs/compare/1.0.35...1.1.0)

#### What's Changed

- Fix cfgs by [@&#8203;kornelski](https://redirect.github.com/kornelski)
in
[https://github.com/rust-lang/flate2-rs/pull/441](https://redirect.github.com/rust-lang/flate2-rs/pull/441)
- update CI to use new wasi target by
[@&#8203;oyvindln](https://redirect.github.com/oyvindln) in
[https://github.com/rust-lang/flate2-rs/pull/444](https://redirect.github.com/rust-lang/flate2-rs/pull/444)
- Implement `Clone` for `CompressError` and `DecompressError` by
[@&#8203;mkrasnitski](https://redirect.github.com/mkrasnitski) in
[https://github.com/rust-lang/flate2-rs/pull/445](https://redirect.github.com/rust-lang/flate2-rs/pull/445)
- Update LICENSE-MIT by
[@&#8203;maximevtush](https://redirect.github.com/maximevtush) in
[https://github.com/rust-lang/flate2-rs/pull/448](https://redirect.github.com/rust-lang/flate2-rs/pull/448)
- feat: replace custom u16 le parser with existent rust method by
[@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) in
[https://github.com/rust-lang/flate2-rs/pull/450](https://redirect.github.com/rust-lang/flate2-rs/pull/450)
- Fix CI by [@&#8203;Byron](https://redirect.github.com/Byron) in
[https://github.com/rust-lang/flate2-rs/pull/449](https://redirect.github.com/rust-lang/flate2-rs/pull/449)
- Do not use cloudflare-zlib-sys 0.3.4 by
[@&#8203;jongiddy](https://redirect.github.com/jongiddy) in
[https://github.com/rust-lang/flate2-rs/pull/451](https://redirect.github.com/rust-lang/flate2-rs/pull/451)
- Increase minimum compiler version to 1.67 by
[@&#8203;jongiddy](https://redirect.github.com/jongiddy) in
[https://github.com/rust-lang/flate2-rs/pull/452](https://redirect.github.com/rust-lang/flate2-rs/pull/452)
- deps: bump miniz_oxide to 0.8.4 by
[@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) in
[https://github.com/rust-lang/flate2-rs/pull/459](https://redirect.github.com/rust-lang/flate2-rs/pull/459)
- deps(dev): update rand to 0.9 by
[@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) in
[https://github.com/rust-lang/flate2-rs/pull/458](https://redirect.github.com/rust-lang/flate2-rs/pull/458)
- docs: fix spelling mistake in flate2::zlib::write::ZlibDecoder by
[@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) in
[https://github.com/rust-lang/flate2-rs/pull/455](https://redirect.github.com/rust-lang/flate2-rs/pull/455)
- feat: remove explicit default impls by
[@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) in
[https://github.com/rust-lang/flate2-rs/pull/457](https://redirect.github.com/rust-lang/flate2-rs/pull/457)
- Change private bounds from `R: Read` to `R: BufRead` by
[@&#8203;JonathanBrouwer](https://redirect.github.com/JonathanBrouwer)
in
[https://github.com/rust-lang/flate2-rs/pull/453](https://redirect.github.com/rust-lang/flate2-rs/pull/453)
- feat: replace manual copy loop with rust-provided function by
[@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) in
[https://github.com/rust-lang/flate2-rs/pull/456](https://redirect.github.com/rust-lang/flate2-rs/pull/456)
- feat: reduce CrcReader::sum calls in GzEncoder::read_footer by
[@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) in
[https://github.com/rust-lang/flate2-rs/pull/454](https://redirect.github.com/rust-lang/flate2-rs/pull/454)
- feat: remove redundant if guard on option value match by
[@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) in
[https://github.com/rust-lang/flate2-rs/pull/464](https://redirect.github.com/rust-lang/flate2-rs/pull/464)
- feat: add Error associated type in zio::Ops to handle multiple errors
by [@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) in
[https://github.com/rust-lang/flate2-rs/pull/461](https://redirect.github.com/rust-lang/flate2-rs/pull/461)
- feat: remove explicit redundant lifetime by
[@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) in
[https://github.com/rust-lang/flate2-rs/pull/465](https://redirect.github.com/rust-lang/flate2-rs/pull/465)
- feat: impl From<Flush> to MZFlush by
[@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) in
[https://github.com/rust-lang/flate2-rs/pull/462](https://redirect.github.com/rust-lang/flate2-rs/pull/462)
- upgrade zlib-rs to version `0.4.2` by
[@&#8203;folkertdev](https://redirect.github.com/folkertdev) in
[https://github.com/rust-lang/flate2-rs/pull/466](https://redirect.github.com/rust-lang/flate2-rs/pull/466)

#### New Contributors

- [@&#8203;mkrasnitski](https://redirect.github.com/mkrasnitski) made
their first contribution in
[https://github.com/rust-lang/flate2-rs/pull/445](https://redirect.github.com/rust-lang/flate2-rs/pull/445)
- [@&#8203;maximevtush](https://redirect.github.com/maximevtush) made
their first contribution in
[https://github.com/rust-lang/flate2-rs/pull/448](https://redirect.github.com/rust-lang/flate2-rs/pull/448)
- [@&#8203;CosminPerRam](https://redirect.github.com/CosminPerRam) made
their first contribution in
[https://github.com/rust-lang/flate2-rs/pull/450](https://redirect.github.com/rust-lang/flate2-rs/pull/450)
- [@&#8203;JonathanBrouwer](https://redirect.github.com/JonathanBrouwer)
made their first contribution in
[https://github.com/rust-lang/flate2-rs/pull/453](https://redirect.github.com/rust-lang/flate2-rs/pull/453)

**Full Changelog**:
https://github.com/rust-lang/flate2-rs/compare/1.0.35...1.1.0

</details>

<details>
<summary>rust-lang/libc (libc)</summary>

###
[`v0.2.170`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.170)

[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.169...0.2.170)

##### Added

- Android: Declare `setdomainname` and `getdomainname`
[#&#8203;4212](https://redirect.github.com/rust-lang/libc/pull/4212)
- FreeBSD: Add `evdev` structures
[#&#8203;3756](https://redirect.github.com/rust-lang/libc/pull/3756)
- FreeBSD: Add the new `st_filerev` field to `stat32`
([#&#8203;4254](https://redirect.github.com/rust-lang/libc/pull/4254))
- Linux: Add ` SI_*`` and `TRAP_\*\`\` signal codes
[#&#8203;4225](https://redirect.github.com/rust-lang/libc/pull/4225)
- Linux: Add experimental configuration to enable 64-bit time in kernel
APIs, set by `RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64`.
[#&#8203;4148](https://redirect.github.com/rust-lang/libc/pull/4148)
- Linux: Add recent socket timestamping flags
[#&#8203;4273](https://redirect.github.com/rust-lang/libc/pull/4273)
- Linux: Added new CANFD_FDF flag for the flags field of canfd_frame
[#&#8203;4223](https://redirect.github.com/rust-lang/libc/pull/4223)
- Musl: add CLONE_NEWTIME
[#&#8203;4226](https://redirect.github.com/rust-lang/libc/pull/4226)
- Solarish: add the posix_spawn family of functions
[#&#8203;4259](https://redirect.github.com/rust-lang/libc/pull/4259)

##### Deprecated

- Linux: deprecate kernel modules syscalls
[#&#8203;4228](https://redirect.github.com/rust-lang/libc/pull/4228)

##### Changed

- Emscripten: Assume version is at least 3.1.42
[#&#8203;4243](https://redirect.github.com/rust-lang/libc/pull/4243)

##### Fixed

- BSD: Correct the definition of `WEXITSTATUS`
[#&#8203;4213](https://redirect.github.com/rust-lang/libc/pull/4213)
- Hurd: Fix CMSG_DATA on 64bit systems
([#&#8203;4240](https://redirect.github.com/rust-lang/libc/pull/424))
- NetBSD: fix `getmntinfo`
([#&#8203;4265](https://redirect.github.com/rust-lang/libc/pull/4265)
- VxWorks: Fix the size of `time_t`
[#&#8203;426](https://redirect.github.com/rust-lang/libc/pull/426)

##### Other

- Add labels to FIXMEs
[#&#8203;4230](https://redirect.github.com/rust-lang/libc/pull/4230),
[#&#8203;4229](https://redirect.github.com/rust-lang/libc/pull/4229),
[#&#8203;4237](https://redirect.github.com/rust-lang/libc/pull/4237)
- CI: Bump FreeBSD CI to 13.4 and 14.2
[#&#8203;4260](https://redirect.github.com/rust-lang/libc/pull/4260)
- Copy definitions from core::ffi and centralize them
[#&#8203;4256](https://redirect.github.com/rust-lang/libc/pull/4256)
- Define c_char at top-level and remove per-target c_char definitions
[#&#8203;4202](https://redirect.github.com/rust-lang/libc/pull/4202)
- Port style.rs to syn and add tests for the style checker
[#&#8203;4220](https://redirect.github.com/rust-lang/libc/pull/4220)

</details>

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

###
[`v1.0.218`](https://redirect.github.com/serde-rs/serde/releases/tag/v1.0.218)

[Compare
Source](https://redirect.github.com/serde-rs/serde/compare/v1.0.217...v1.0.218)

-   Documentation improvements

</details>

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

###
[`v1.0.139`](https://redirect.github.com/serde-rs/json/releases/tag/v1.0.139)

[Compare
Source](https://redirect.github.com/serde-rs/json/compare/v1.0.138...v1.0.139)

-   Documentation improvements

</details>

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

###
[`v0.4.44`](https://redirect.github.com/alexcrichton/tar-rs/compare/0.4.43...0.4.44)

[Compare
Source](https://redirect.github.com/alexcrichton/tar-rs/compare/0.4.43...0.4.44)

</details>

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

###
[`v3.17.1`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3171)

[Compare
Source](https://redirect.github.com/Stebalien/tempfile/compare/v3.17.0...v3.17.1)

- Fix build with `windows-sys` 0.52. Unfortunately, we have no CI for
older `windows-sys` versions at the moment...

###
[`v3.17.0`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3170)

[Compare
Source](https://redirect.github.com/Stebalien/tempfile/compare/v3.16.0...v3.17.0)

- Make sure to use absolute paths in when creating unnamed temporary
files (avoids a small race in the "immediate unlink" logic) and in
`Builder::make_in` (when creating temporary files of arbitrary types).
- Prevent a theoretical crash that could (maybe) happen when a temporary
file is created from a drop function run in a TLS destructor. Nobody has
actually reported a case of this happening in practice and I have been
unable to create this scenario in a test.
- When reseeding with `getrandom`, use platform (e.g., CPU) specific
randomness sources where possible.
-   Clarify some documentation.
- Unlink unnamed temporary files on windows *immediately* when possible
instead of waiting for the handle to be closed. We open files with
"Unix" semantics, so this is generally possible.

</details>

<details>
<summary>toml-rs/toml (toml_edit)</summary>

###
[`v0.22.24`](https://redirect.github.com/toml-rs/toml/compare/v0.22.23...v0.22.24)

[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/v0.22.23...v0.22.24)

</details>

<details>
<summary>dtolnay/unicode-ident (unicode-ident)</summary>

###
[`v1.0.17`](https://redirect.github.com/dtolnay/unicode-ident/releases/tag/1.0.17)

[Compare
Source](https://redirect.github.com/dtolnay/unicode-ident/compare/1.0.16...1.0.17)

-   Documentation improvements

</details>

---

### Configuration

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

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

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

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

---

- [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2025-03-01 19:04:17 +00:00
Weihang Lo
48a54c9d42
feat(cli): forward bash completions of third party subcommands (#15247)
# What does this PR try to resolve?

Currently third party subcommands like `cargo asm` from
[`cargo-show-asm`] don't
support shell completions, even when the corresponding `cargo-<cmd>`
command *does*.
(I'm using `cargo asm` as example because it was the first subcommand
that came
into mind that provides completions)

This PR fixes this for `bash` by using [`bash-completion`]'s
[`_comp_command_offset`] function to generate these completions.
(Assuming these completions are available to [`bash-completion`])

[`bash-completion`] is the package that is used by all major unix-like
operating
systems to provide bash completions.

If the subcommand has no completion, that falls back to the default
bash.
(That might not be *exactly* the same as `_filedir`, but should be
correct anyway)

**Note** that [`_comp_command_offset`] is only supported since
[`bash-completion`] >= `2.12.0`,
which requires `bash` >= `4.2.0`, which means that the default
`bash` version shipped with MacOs is **not** supported. \
In that case we fall back to the previous behavior with `_filedir`.

# How should we test and review this PR?

I'm not sure if there is any testing setup for shell completions for
`cargo`.
I have just tested it manually by running these commands:
(In the working directory of this PR)

```bash
#!/usr/bin/env bash

# Install the subcommand
cargo install cargo-show-asm
# Load the completions for `cargo-asm`
eval "$(cargo-asm --bpaf-complete-style-bash)"
# (Re)source the new cargo completions
source src/etc/cargo.bashcomp.sh
```

and then tab-completing from `cargo asm <TAB>`.

# Additional information

## Further Possibilities

The same trick with [`_comp_command_offset`] could be used to get
completions
for the command run with `cargo run -- `, assuming there is an easy way
to get
the name of the binary that would be run. (And maybe something to
dynamically (re)-load the completions.)

## Prior Art

The `zsh`-completions already support the `zsh`-equivalent of this with
<58cfd96b59/src/etc/_cargo (L368-L372)>

[`cargo-show-asm`]: https://docs.rs/cargo-show-asm
[`bash-completion`]: https://github.com/scop/bash-completion/
[`_comp_command_offset`]:
92f558d582/bash_completion (L2816-L2821)
2025-03-01 15:02:19 +00:00
renovate[bot]
3ac95b1622
chore(deps): update rust crate pulldown-cmark to 0.13.0 2025-03-01 02:03:12 +00:00
renovate[bot]
e448983453
chore(deps): update compatible 2025-03-01 02:03:04 +00:00
Ed Page
e79bac1951
feat: add completions for --lockfile-path (#15238)
### What does this PR try to resolve?

Add auto completion for `cargo build --lockfile-path <TAB>`

Related to #14520

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

![Screenshot from 2025-02-27
18-38-21](https://github.com/user-attachments/assets/36ae3584-8e1a-4e9e-bab8-fe239c03bb82)
2025-02-28 18:49:13 +00:00
utnim2
4afa6d70ab fix: remove reduntant is_dir() check 2025-02-28 23:22:37 +05:30
Jon Heinritz
4d38888900 feat(cli): forward bash completions of third party subcommands 2025-02-28 18:36:00 +01:00
Ed Page
9b6e11e9b0 feat(tree): Color lines by dependency type 2025-02-28 09:46:50 -06:00
Ed Page
fb5407db7a feat(tree): Warn through colors for elided content 2025-02-28 09:46:08 -06:00
Ed Page
e293cd6cd2 test(tree): Add more UI tests 2025-02-28 09:45:57 -06:00
Ed Page
e2a991caf3 test(tree): Group all cargo-tree tests 2025-02-28 09:18:07 -06:00
Weihang Lo
58cfd96b59
fix: reset $CARGO if the running program is real cargo[.exe] (#15208)
Overwrite `$CARGO` when the current exe is detected to be a cargo
binary.

From
https://github.com/rust-lang/cargo/issues/15099#issuecomment-2666737150:
> opt-in behavior (set by cargo-the-bin):
>
> 1. `from_current_exe` if its `cargo[EXE_SUFFIX]`
> 2. `from_argv` if its `cargo[EXE_SUFFIX]`
> 3. `from_env`
> 4. `from_current_exe`
> 5. `from_argv`

r? @epage
2025-02-28 15:04:52 +00:00
Ed Page
726e2a70ea
Get all members as available targets even though default-members was specified. (#15199)
### What does this PR try to resolve?

The old behavior gets members from `default-members` if specified in a
virtual workspace, this PR gets all workspace members for `Available`
target hints.

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

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

The first commit added the test, the second commit addressed the issue.

### Additional information
2025-02-28 14:48:42 +00:00
Ed Page
8686e24c72
refactor: control byte display precision with std::fmt options (#15246)
### What does this PR try to resolve?

Just found we can simplify `human_readable_bytes` a bit.
This also remove the `bytesize` dependency,
since we already have a hand-rolled function.
(It is a good crate, though)

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

Should have no real functional difference.
`cargo package` starts reporting IEC (KiB) instead of SI (KB).
So do some thresholds of `cargo package`.

Could also switch entirely to `bytesize` if that is preferred.

### Additional information
2025-02-28 14:32:42 +00:00
Weihang Lo
8f1122defb
refactor: use HumanBytes instead
This removes one dependency bytesize as it hasn't yet support
controlling precision throught format options.
2025-02-28 08:56:28 -05:00
Weihang Lo
425858c742
refactor: control byte display precision with std::fmt options 2025-02-28 08:56:28 -05:00
Weihang Lo
d5b25b824a
fix(package): Ensure we can package directories ending with '.rs' (#15240)
### What does this PR try to resolve?

This likely only affects `-Zpackage-workspace` but it might have also
broken dependencies whose path ends with `.rs` as
well

This broke in https://github.com/rust-lang/cargo/pull/14961

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

### Additional information
2025-02-28 13:17:40 +00:00
Ed Page
2622e844bc
Bump cc to 1.2.16 to fix x86 windows jobs in rust-lang/rust CI (#15245)
### What does this PR try to resolve?

GitHub Runner Images 20250224.5.0+ ship Windows 11 SDK 10.0.26100+
compared to the previous Windows 11 SDK 10.0.22621, which bumped the
UCRT headers. The new UCRT headers use SSE2 types. However, `cc`
versions <= 1.2.15 emit `/arch:IA32` for `x86` Windows targets for
`clang-cl`, which causes compilation errors since `clang-cl` can't find
SSE2 types without `/arch:SSE2` specified (or defaulted). (Note that
MSVC at the time of writing silently accepts and emits instruments for
code using SSE2 types, as opposed to `clang-cl` hard error-ing).

`cc` 1.2.16 contains a fix for this problem,
https://github.com/rust-lang/cc-rs/pull/1425, to correctly emit
`/arch:SSE2` instead of `/arch:IA32` to enable `clang-cl` to find the
SSE2 types. However, cargo's `cc` currently is still on 1.2.13.

To fix this for rust-lang/rust CI, we need to bump anything that
transitively relies on `cc` and tries to use `clang-cl` on `x86` Windows
targets to compile any C/C++ code that transitively use functions or
types that require SSE2 types, such as `<wchar.h>`.

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

The fix was initially intended for `rustc_{codegen_ssa,llvm}` `cc`, and
based on testing in https://github.com/rust-lang/rust/pull/137724, I was
able to successfully build `rustc_{codegen_ssa,llvm}` with a forked `cc`
based on 1.2.15 which contains the fix from
https://github.com/rust-lang/cc-rs/pull/1425. Note that in the same PR,
while the compiler build succeeded, the build of cargo itself failed
since it transitively used a `cc` *without* the fix to build
`curl-sys`[^dep-chain], which failed as one might expect (`curl-sys`
tries to build C code that uses `<wchar.h>` which runs into the same
problem). Hence, this PR is opened to bump cargo's `cc` to a `cc`
version containing the fix.

### Additional information

This `x86` Windows CI problem is:

- Discussed in
https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/spurious.20.28.3F.29.20i686.20msvc.20errors.
- Tracked by https://github.com/rust-lang/rust/issues/137733.

#### `cc` changelog between 1.2.13 and 1.2.16

<details>
<summary>`cc` changes since 1.2.13 up to and including 1.2.16</summary>

#####
[1.2.16](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.15...cc-v1.2.16)
- 2025-02-28

###### Fixed

- force windows compiler to run in `out_dir` to prevent artifacts in cwd
(#1415)

###### Other

- use `/arch:SSE2` for `x86` target arch (#1425)
- Regenerate windows-sys binding
([#1422](https://github.com/rust-lang/cc-rs/pull/1422))
- Regenerate target info
([#1418](https://github.com/rust-lang/cc-rs/pull/1418))
- Add LIB var when compiling flag_check (#1417)
- Change flag ordering
([#1403](https://github.com/rust-lang/cc-rs/pull/1403))
- Fix archiver detection for musl cross compilation
([#1404](https://github.com/rust-lang/cc-rs/pull/1404))

#####
[1.2.15](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.14...cc-v1.2.15)
- 2025-02-21

###### Other

- Regenerate target info
([#1406](https://github.com/rust-lang/cc-rs/pull/1406))
- Always read from all `CFLAGS`-style flags
([#1401](https://github.com/rust-lang/cc-rs/pull/1401))
- Simplify the error output on failed `Command` invocation
([#1397](https://github.com/rust-lang/cc-rs/pull/1397))

#####
[1.2.14](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.13...cc-v1.2.14)
- 2025-02-14

###### Other

- Regenerate target info
([#1398](https://github.com/rust-lang/cc-rs/pull/1398))
- Add support for setting `-gdwarf-{version}` based on RUSTFLAGS
([#1395](https://github.com/rust-lang/cc-rs/pull/1395))
- Add support for alternative network stack io-sock on QNX 7.1 aarch64
and x86_64 ([#1312](https://github.com/rust-lang/cc-rs/pull/1312))

</details>

[^dep-chain]: I think the dep chain is something like git2 ->
libgit2-sys -> curl -> curl-sys?
2025-02-28 12:33:57 +00:00
许杰友 Jieyou Xu (Joe)
8c8b7b7c70 deps: bump cc to 1.2.16 to fix x86 windows jobs in rust-lang/rust CI
GitHub Runner Images 20250224.5.0+ ship Windows 11 SDK 10.0.26100+ from
the previous Windows 11 SDK 10.0.22621, which bumped the UCRT headers.
The new UCRT headers use SSE2 types. However, `cc` versions <= 1.2.15
emit `/arch:IA32` for `x86` Windows targets for `clang-cl`, which causes
compilation errors since `clang-cl` can't find SSE2 types without
`/arch:SSE2` specified (or defaulted). (Note that MSVC at the time of
writing silently accepts and emits instruments for code using SSE2
types, as opposed to `clang-cl` hard error-ing).

To fix this for rust-lang/rust CI, we need to bump anything that
transitively relies on `cc` and tries to use `clang-cl` on `x86` Windows
targets to compile any C/C++ code that transitively use functions or
types that require SSE2 types, such as `<wchar.h>`. `cc` 1.2.16 contains
<https://github.com/rust-lang/cc-rs/pull/1425> which emits `/arch:SSE2`
instead of `/arch:IA32` for `x86` Windows targets when using `clang-cl`.
2025-02-28 18:45:46 +08:00