Commit graph

15213 commits

Author SHA1 Message Date
Ed Page 03a642b1d8 fix: Set MSRV in all published packages 2023-10-06 16:34:42 -05:00
Ed Page 4b55a4f76f chore(gh): Automatically update cargo-credential MSRV 2023-10-06 16:34:42 -05:00
Ed Page a4928f6584 refactor(gh): Allow tracking multiple MSRVs 2023-10-06 16:34:40 -05:00
bors 637ade0e6a Auto merge of #12775 - rust-lang:renovate/latest-msrv-1.x, r=epage
chore(deps): update latest msrv to v1.73

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [latest-msrv](https://togithub.com/rust-lang/rust) | minor | `1.72.0` -> `1.73` |

---

### Release Notes

<details>
<summary>rust-lang/rust (latest-msrv)</summary>

### [`v1.73`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1730-2023-10-05)

[Compare Source](https://togithub.com/rust-lang/rust/compare/1.72.0...1.73.0)

\==========================

<a id="1.73.0-Language"></a>

## Language

-   [Uplift `clippy::fn_null_check` lint as `useless_ptr_null_checks`.](https://togithub.com/rust-lang/rust/pull/111717/)
-   [Make `noop_method_call` warn by default.](https://togithub.com/rust-lang/rust/pull/111916/)
-   [Support interpolated block for `try` and `async` in macros.](https://togithub.com/rust-lang/rust/pull/112953/)
-   [Make `unconditional_recursion` lint detect recursive drops.](https://togithub.com/rust-lang/rust/pull/113902/)
-   [Future compatibility warning for some impls being incorrectly considered not overlapping.](https://togithub.com/rust-lang/rust/pull/114023/)
-   [The `invalid_reference_casting` lint is now **deny-by-default** (instead of allow-by-default)](https://togithub.com/rust-lang/rust/pull/112431)

<a id="1.73.0-Compiler"></a>

## Compiler

-   [Write version information in a `.comment` section like GCC/Clang.](https://togithub.com/rust-lang/rust/pull/97550/)
-   [Add documentation on v0 symbol mangling.](https://togithub.com/rust-lang/rust/pull/97571/)
-   [Stabilize `extern "thiscall"` and `"thiscall-unwind"` ABIs.](https://togithub.com/rust-lang/rust/pull/114562/)
-   [Only check outlives goals on impl compared to trait.](https://togithub.com/rust-lang/rust/pull/109356/)
-   [Infer type in irrefutable slice patterns with fixed length as array.](https://togithub.com/rust-lang/rust/pull/113199/)
-   [Discard default auto trait impls if explicit ones exist.](https://togithub.com/rust-lang/rust/pull/113312/)
-   Add several new tier 3 targets:
    -   [`aarch64-unknown-teeos`](https://togithub.com/rust-lang/rust/pull/113480/)
    -   [`csky-unknown-linux-gnuabiv2`](https://togithub.com/rust-lang/rust/pull/113658/)
    -   [`riscv64-linux-android`](https://togithub.com/rust-lang/rust/pull/112858/)
    -   [`riscv64gc-unknown-hermit`](https://togithub.com/rust-lang/rust/pull/114004/)
    -   [`x86_64-unikraft-linux-musl`](https://togithub.com/rust-lang/rust/pull/113411/)
    -   [`x86_64-unknown-linux-ohos`](https://togithub.com/rust-lang/rust/pull/113061/)
-   [Add `wasm32-wasi-preview1-threads` as a tier 2 target.](https://togithub.com/rust-lang/rust/pull/112922/)

Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.

<a id="1.73.0-Libraries"></a>

## Libraries

-   [Add `Read`, `Write` and `Seek` impls for `Arc<File>`.](https://togithub.com/rust-lang/rust/pull/94748/)
-   [Merge functionality of `io::Sink` into `io::Empty`.](https://togithub.com/rust-lang/rust/pull/98154/)
-   [Implement `RefUnwindSafe` for `Backtrace`](https://togithub.com/rust-lang/rust/pull/100455/)
-   [Make `ExitStatus` implement `Default`](https://togithub.com/rust-lang/rust/pull/106425/)
-   [`impl SliceIndex<str> for (Bound<usize>, Bound<usize>)`](https://togithub.com/rust-lang/rust/pull/111081/)
-   [Change default panic handler message format.](https://togithub.com/rust-lang/rust/pull/112849/)
-   [Cleaner `assert_eq!` & `assert_ne!` panic messages.](https://togithub.com/rust-lang/rust/pull/111071/)
-   [Correct the (deprecated) Android `stat` struct definitions.](https://togithub.com/rust-lang/rust/pull/113130/)

<a id="1.73.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [Unsigned `{integer}::div_ceil`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.div_ceil)
-   [Unsigned `{integer}::next_multiple_of`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.next_multiple_of)
-   [Unsigned `{integer}::checked_next_multiple_of`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.checked_next_multiple_of)
-   [`std::ffi::FromBytesUntilNulError`](https://doc.rust-lang.org/stable/std/ffi/struct.FromBytesUntilNulError.html)
-   [`std::os::unix::fs::chown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.chown.html)
-   [`std::os::unix::fs::fchown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.fchown.html)
-   [`std::os::unix::fs::lchown`](https://doc.rust-lang.org/stable/std/os/unix/fs/fn.lchown.html)
-   [`LocalKey::<Cell<T>>::get`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.get)
-   [`LocalKey::<Cell<T>>::set`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.set)
-   [`LocalKey::<Cell<T>>::take`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.take)
-   [`LocalKey::<Cell<T>>::replace`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.replace)
-   [`LocalKey::<RefCell<T>>::with_borrow`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.with_borrow)
-   [`LocalKey::<RefCell<T>>::with_borrow_mut`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.with_borrow_mut)
-   [`LocalKey::<RefCell<T>>::set`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.set-1)
-   [`LocalKey::<RefCell<T>>::take`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.take-1)
-   [`LocalKey::<RefCell<T>>::replace`](https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.replace-1)

These APIs are now stable in const contexts:

-   [`rc::Weak::new`](https://doc.rust-lang.org/stable/alloc/rc/struct.Weak.html#method.new)
-   [`sync::Weak::new`](https://doc.rust-lang.org/stable/alloc/sync/struct.Weak.html#method.new)
-   [`NonNull::as_ref`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.as_ref)

<a id="1.73.0-Cargo"></a>

## Cargo

-   [Encode URL params correctly for `SourceId` in `Cargo.lock`.](https://togithub.com/rust-lang/cargo/pull/12280/)
-   [Bail out an error when using `cargo::` in custom build script.](https://togithub.com/rust-lang/cargo/pull/12332/)

<a id="1.73.0-Misc"></a>

## Misc

<a id="1.73.0-Compatibility-Notes"></a>

## Compatibility Notes

-   [Update the minimum external LLVM to 15.](https://togithub.com/rust-lang/rust/pull/114148/)
-   [Check for non-defining uses of return position `impl Trait`.](https://togithub.com/rust-lang/rust/pull/112842/)

<a id="1.73.0-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

-   [Remove LLVM pointee types, supporting only opaque pointers.](https://togithub.com/rust-lang/rust/pull/105545/)
-   [Port PGO/LTO/BOLT optimized build pipeline to Rust.](https://togithub.com/rust-lang/rust/pull/112235/)
-   [Replace in-tree `rustc_apfloat` with the new version of the crate.](https://togithub.com/rust-lang/rust/pull/113843/)
-   [Update to LLVM 17.](https://togithub.com/rust-lang/rust/pull/114048/)
-   [Add `internal_features` lint for internal unstable features.](https://togithub.com/rust-lang/rust/pull/108955/)
-   [Mention style for new syntax in tracking issue template.](https://togithub.com/rust-lang/rust/pull/113586/)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* * * * *" (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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjMiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->
2023-10-06 19:50:52 +00:00
bors 294fe8f949 Auto merge of #12782 - Turbo87:new-crate-docs, r=epage
crates-io: Add doc comment for `NewCrate` struct

This PR adds a small doc comment to the `NewCrate` struct in the `crates-io` package, linking to https://doc.rust-lang.org/cargo/reference/registry-web-api.html#publish to give additional context.

I saw other links to https://doc.rust-lang.org in some of the doc comments, so I'm hoping this is correct vs. linking directly to the file with a relative path?
2023-10-06 15:01:25 +00:00
Tobias Bieniek 9e5dac18b9
crates.io: Bump version to 0.39.1 2023-10-06 16:11:38 +02:00
bors fc790e7b2d Auto merge of #12781 - dvdhrm:pr/target-typo, r=epage
cargo/targets: fix error-message typo

Fix typo: "with with" -> "with"
2023-10-06 13:59:27 +00:00
David Rheinsberg 4aa1a95714 cargo/targets: fix error-message typo
Fix typo: "with with" -> "with"
2023-10-06 15:08:48 +02:00
bors cacebf8cbc Auto merge of #12777 - hi-rustin:rustin-patch-short-config-flag, r=weihanglo
Add test for unsupported short config flag
2023-10-06 12:10:10 +00:00
Tobias Bieniek e287f43006
crates-io: Add doc comment for NewCrate struct 2023-10-06 14:04:03 +02:00
hi-rustin 2400e42652 add unsupported short suggestion for --config flag
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-10-06 16:27:31 +08:00
hi-rustin 914119940b Add test for unsupported short config flag 2023-10-06 16:16:35 +08:00
renovate[bot] 1b4fbfb20a
chore(deps): update latest msrv to v1.73 2023-10-06 03:09:49 +00:00
bors 5a2ea19309 Auto merge of #12774 - epage:changelog, r=arlosi
docs(changelog): Highlight 1.73's minor incompat with build.rs
2023-10-05 18:31:25 +00:00
Ed Page 7bf20a4b20 docs(changelog): Highlight 1.73's minor incompat with build.rs 2023-10-05 13:19:18 -05:00
bors 495ad0d7de Auto merge of #12773 - rustaceanclub:master, r=ehuss
Fix typo
2023-10-05 11:26:41 +00:00
cui fliter 75809f34c5 Fix typo
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-10-05 12:45:47 +08:00
bors d74bc471b9 Auto merge of #12771 - Muscraft:edition-2024, r=epage
feat: Add `Edition2024`

[RFC for `Edition2024`](https://github.com/rust-lang/rfcs/pull/3501).  While the RFC is not yet merged, this follows rustc which added the 2024 edition previously in rust-lang/rust#94461

This PR adds `Edition2024` as a possible value for `edition = "xxxx"`. I did this by following the [guide here](ed0a787310/src/cargo/core/features.rs (L163-L174)).
2023-10-04 19:32:52 +00:00
Scott Schafer b2b3cfa524
feat: Add Edition2024 2023-10-04 13:11:52 -06:00
bors 3591db059a Auto merge of #12760 - rust-lang:renovate/toml-0.x, r=epage
chore(deps): update rust crate toml to 0.8.2

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [toml](https://togithub.com/toml-rs/toml) | workspace.dependencies | minor | `0.7.6` -> `0.8.2` |

---

### Release Notes

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

### [`v0.8.2`](https://togithub.com/toml-rs/toml/compare/toml-v0.8.1...toml-v0.8.2)

[Compare Source](https://togithub.com/toml-rs/toml/compare/toml-v0.8.1...toml-v0.8.2)

### [`v0.8.1`](https://togithub.com/toml-rs/toml/compare/toml-v0.8.0...toml-v0.8.1)

[Compare Source](https://togithub.com/toml-rs/toml/compare/toml-v0.8.0...toml-v0.8.1)

### [`v0.8.0`](https://togithub.com/toml-rs/toml/compare/toml-v0.7.8...toml-v0.8.0)

[Compare Source](https://togithub.com/toml-rs/toml/compare/toml-v0.7.8...toml-v0.8.0)

### [`v0.7.8`](https://togithub.com/toml-rs/toml/compare/toml-v0.7.7...toml-v0.7.8)

[Compare Source](https://togithub.com/toml-rs/toml/compare/toml-v0.7.7...toml-v0.7.8)

### [`v0.7.7`](https://togithub.com/toml-rs/toml/compare/toml-v0.7.6...toml-v0.7.7)

[Compare Source](https://togithub.com/toml-rs/toml/compare/toml-v0.7.6...toml-v0.7.7)

</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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjMiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->
2023-10-04 17:21:25 +00:00
bors bf7f47ee86 Auto merge of #12768 - epage:refactor, r=weihanglo
refactor(toml): Make manifest file layout more consitent

### What does this PR try to resolve?

This is to make the file easier to browse (to me) as I work to split out the file format from the business logic to explore ideas for how we could split out a manifest crate.

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

This is just moving code around, so existing tests should be sufficient.

This does try to break up the refactors by theme to make it slightly easier.

If there are ideas for further improvements, that might be best left for future refactors rather than cramming every possible idea in this one.

### Additional information
2023-10-04 16:31:59 +00:00
renovate[bot] abcffc2ec9
chore(deps): update rust crate toml to 0.8.2 2023-10-04 16:31:32 +00:00
bors 8ea9c233b0 Auto merge of #12765 - epage:toml, r=Muscraft
chore: Specify all of toml_edit's features

This is preventing us from being able to update toml/toml_edit independent of each other since the new versions are both breaing changes, so by updating one, we are getting the features enabled for us by the wrong version.
2023-10-04 15:32:00 +00:00
bors 300469b622 Auto merge of #12770 - weihanglo:version-bump, r=epage
Bump to 0.76.0; update changelog

[rendered](https://github.com/weihanglo/cargo/blob/version-bump/CHANGELOG.md)
2023-10-04 14:47:18 +00:00
Weihang Lo e5cd100671
Update changelog for 1.75.0 2023-10-04 22:40:07 +08:00
Weihang Lo d27b901bb8
Update changelog for 1.74.0 2023-10-04 22:40:06 +08:00
Weihang Lo 5530d3c3ff
Bump to 0.76.0 2023-10-04 22:39:52 +08:00
bors 3f9099b0b9 Auto merge of #12755 - hi-rustin:rustin-patch-out-dir, r=weihanglo
Add unsupported short suggestion for --out-dir flag
2023-10-04 07:14:58 +00:00
hi-rustin 7bd0f81257 Add unsupported short suggestion for --out-dir flag 2023-10-04 13:15:09 +08:00
hi-rustin f67b58f93f Add test for unsupported short out dir flag 2023-10-04 12:41:19 +08:00
bors 794d0a8254 Auto merge of #12767 - epage:msrv-refactor, r=weihanglo
Prep for automating MSRV management

### What does this PR try to resolve?

These are the simpler / less controversial parts of #12654 ensuring we get them in now, reducing the chance for conflicts and getting some of the benefits

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

CI

### Additional information
2023-10-03 23:19:33 +00:00
Ed Page 571e6cf3c5 refactor(toml): Move related structs next to each other 2023-10-03 11:41:25 -05:00
Ed Page 29fde12f29 chore(ci): Speed up MSRV check by doing 'check'
Most MSRV issues will be with too-new APIs and not behavior changes
2023-10-03 10:20:35 -05:00
Ed Page 510606e8f3 chore(ci): Automatically track cargo-credential's MSRV in CI 2023-10-03 10:19:48 -05:00
Ed Page b784bafaa7 refactor(toml): Move impl bodies next to types
At minimum, we should have "everything" for a type next to it but it was
previously scattered.

When collecting the related impl's, I decided to order based on how I
tend to do it.  Generally the methods are the "core" of the type so I
put those first.

The order I went with
1. Basic impl body
2. Complex impl body
3. Trait impls
4. Helper free-functions
2023-10-02 16:33:54 -05:00
Ed Page e476251168 refactor(toml): Consistently lay out fmt/serde impls
The theory of organization
- Built-in impls first (`Display` in this case)
- `Serialize` next to `Display` since they are related
2023-10-02 16:27:34 -05:00
Ed Page 72f4f0cb3f chore: Simplify releasing home
I'm not seeing any benefit derived by `html_root_url`
2023-10-02 12:13:49 -05:00
Ed Page d3c47f1f37 chore: Specify all of toml_edit's features
This is preventing us from being able to update toml/toml_edit
independent of each other.
2023-10-02 12:05:57 -05:00
bors ed0a787310 Auto merge of #12759 - rust-lang:renovate/itertools-0.x, r=epage
chore(deps): update rust crate itertools to 0.11.0

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.10.0` -> `0.11.0` |

---

### Release Notes

<details>
<summary>rust-itertools/itertools (itertools)</summary>

### [`v0.11.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0110)

[Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0)

##### Breaking

-   Make `Itertools::merge_join_by` also accept functions returning bool ([#&#8203;704](https://togithub.com/rust-itertools/itertools/issues/704))
-   Implement `PeekingNext` transitively over mutable references ([#&#8203;643](https://togithub.com/rust-itertools/itertools/issues/643))
-   Change `with_position` to yield `(Position, Item)` instead of `Position<Item>` ([#&#8203;699](https://togithub.com/rust-itertools/itertools/issues/699))

##### Added

-   Add `Itertools::take_while_inclusive` ([#&#8203;616](https://togithub.com/rust-itertools/itertools/issues/616))
-   Implement `PeekingNext` for `PeekingTakeWhile` ([#&#8203;644](https://togithub.com/rust-itertools/itertools/issues/644))
-   Add `EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both}` ([#&#8203;629](https://togithub.com/rust-itertools/itertools/issues/629))
-   Implement `Clone` for `CircularTupleWindows` ([#&#8203;686](https://togithub.com/rust-itertools/itertools/issues/686))
-   Implement `Clone` for `Chunks` ([#&#8203;683](https://togithub.com/rust-itertools/itertools/issues/683))
-   Add `Itertools::process_results` ([#&#8203;680](https://togithub.com/rust-itertools/itertools/issues/680))

##### Changed

-   Use `Cell` instead of `RefCell` in `Format` and `FormatWith` ([#&#8203;608](https://togithub.com/rust-itertools/itertools/issues/608))
-   CI tweaks ([#&#8203;674](https://togithub.com/rust-itertools/itertools/issues/674), [#&#8203;675](https://togithub.com/rust-itertools/itertools/issues/675))
-   Document and test the difference between stable and unstable sorts ([#&#8203;653](https://togithub.com/rust-itertools/itertools/issues/653))
-   Fix documentation error on `Itertools::max_set_by_key` ([#&#8203;692](https://togithub.com/rust-itertools/itertools/issues/692))
-   Move MSRV metadata to `Cargo.toml` ([#&#8203;672](https://togithub.com/rust-itertools/itertools/issues/672))
-   Implement `equal` with `Iterator::eq` ([#&#8203;591](https://togithub.com/rust-itertools/itertools/issues/591))

### [`v0.10.5`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0105)

[Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.4...v0.10.5)

-   Maintenance

### [`v0.10.4`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0104)

[Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.3...v0.10.4)

-   Add `EitherOrBoth::or` and `EitherOrBoth::or_else` ([#&#8203;593](https://togithub.com/rust-itertools/itertools/issues/593))
    -   Add `min_set`, `max_set` et al. ([#&#8203;613](https://togithub.com/rust-itertools/itertools/issues/613), [#&#8203;323](https://togithub.com/rust-itertools/itertools/issues/323))
    -   Use `either/use_std` ([#&#8203;628](https://togithub.com/rust-itertools/itertools/issues/628))
    -   Documentation fixes ([#&#8203;612](https://togithub.com/rust-itertools/itertools/issues/612), [#&#8203;625](https://togithub.com/rust-itertools/itertools/issues/625), [#&#8203;632](https://togithub.com/rust-itertools/itertools/issues/632), [#&#8203;633](https://togithub.com/rust-itertools/itertools/issues/633), [#&#8203;634](https://togithub.com/rust-itertools/itertools/issues/634), [#&#8203;638](https://togithub.com/rust-itertools/itertools/issues/638))
    -   Code maintenance ([#&#8203;623](https://togithub.com/rust-itertools/itertools/issues/623), [#&#8203;624](https://togithub.com/rust-itertools/itertools/issues/624), [#&#8203;627](https://togithub.com/rust-itertools/itertools/issues/627), [#&#8203;630](https://togithub.com/rust-itertools/itertools/issues/630))

### [`v0.10.3`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0103)

[Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.1...v0.10.3)

-   Maintenance

### [`v0.10.1`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0101)

[Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.10.0...v0.10.1)

-   Add `Itertools::contains` ([#&#8203;514](https://togithub.com/rust-itertools/itertools/issues/514))
    -   Add `Itertools::counts_by` ([#&#8203;515](https://togithub.com/rust-itertools/itertools/issues/515))
    -   Add `Itertools::partition_result` ([#&#8203;511](https://togithub.com/rust-itertools/itertools/issues/511))
    -   Add `Itertools::all_unique` ([#&#8203;241](https://togithub.com/rust-itertools/itertools/issues/241))
    -   Add `Itertools::duplicates` and `Itertools::duplicates_by` ([#&#8203;502](https://togithub.com/rust-itertools/itertools/issues/502))
    -   Add `chain!` ([#&#8203;525](https://togithub.com/rust-itertools/itertools/issues/525))
    -   Add `Itertools::at_most_one` ([#&#8203;523](https://togithub.com/rust-itertools/itertools/issues/523))
    -   Add `Itertools::flatten_ok` ([#&#8203;527](https://togithub.com/rust-itertools/itertools/issues/527))
    -   Add `EitherOrBoth::or_default` ([#&#8203;583](https://togithub.com/rust-itertools/itertools/issues/583))
    -   Add `Itertools::find_or_last` and `Itertools::find_or_first` ([#&#8203;535](https://togithub.com/rust-itertools/itertools/issues/535))
    -   Implement `FusedIterator` for `FilterOk`, `FilterMapOk`, `InterleaveShortest`, `KMergeBy`, `MergeBy`, `PadUsing`, `Positions`, `Product` , `RcIter`, `TupleWindows`, `Unique`, `UniqueBy`,  `Update`, `WhileSome`, `Combinations`, `CombinationsWithReplacement`, `Powerset`, `RepeatN`, and `WithPosition` ([#&#8203;550](https://togithub.com/rust-itertools/itertools/issues/550))
    -   Implement `FusedIterator` for `Interleave`, `IntersperseWith`, and `ZipLongest` ([#&#8203;548](https://togithub.com/rust-itertools/itertools/issues/548))

</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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjMiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->
2023-10-02 17:04:28 +00:00
bors 9a94183771 Auto merge of #12744 - tompscanlan:atomic-write, r=epage
fix bug: corruption when cargo killed while writing

### What does this PR try to resolve?

fix  #11386, superseding #12362

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

Added unit test showing basic equivalency to existing `write(path, content)`. Full test suite should exercise write.
Added tests for cargo add and remove. These are timing tests, so take a bit of time to run. 5-10s each.  They may not fail every time, but do so regularly.  Making the change to these two writes seems to prevent me from failing these tests at all.

### Additional information

This uses tempfile::persist which was an existing dependency. atomicwrites crate, an alternative option for this fix, indicates `tempfile::persist` is the same thing.  Since we already use tempfile as a dep, I stuck with that.
2023-10-02 13:34:00 +00:00
bors 1f94bf2db8 Auto merge of #12763 - ehuss:custom_bin_target-windows-gnu, r=weihanglo
Disable custom_target::custom_bin_target on windows-gnu

The `custom_target::custom_bin_target` test has been crashing frequently in CI on the x86_64-pc-windows-gnu target since the last LLVM 17 update. This disables the test to reduce the disruption in CI. The issue is being tracked in https://github.com/rust-lang/rust/issues/115985.
2023-10-02 04:12:23 +00:00
Eric Huss 704a5d32b5 Disable custom_target::custom_bin_target on windows-gnu 2023-10-01 19:14:46 -07:00
bors 93811b5380 Auto merge of #12757 - rust-lang:renovate/compatible, r=weihanglo
chore(deps): update compatible

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anstream](https://togithub.com/rust-cli/anstyle) | workspace.dependencies | patch | `0.6.3` -> `0.6.4` |
| [base64](https://togithub.com/marshallpierce/rust-base64) | workspace.dependencies | patch | `0.21.3` -> `0.21.4` |
| [color-print](https://gitlab.com/dajoha/color-print) | workspace.dependencies | patch | `0.3.4` -> `0.3.5` |
| [git2](https://togithub.com/rust-lang/git2-rs) | workspace.dependencies | patch | `0.18.0` -> `0.18.1` |
| [libloading](https://togithub.com/nagisa/rust_libloading) | workspace.dependencies | patch | `0.8.0` -> `0.8.1` |
| [memchr](https://togithub.com/BurntSushi/memchr) | workspace.dependencies | patch | `2.6.2` -> `2.6.4` |
| [proptest](https://proptest-rs.github.io/proptest/proptest/index.html) ([source](https://togithub.com/proptest-rs/proptest)) | workspace.dependencies | minor | `1.2.0` -> `1.3.1` |
| [semver](https://togithub.com/dtolnay/semver) | workspace.dependencies | patch | `1.0.18` -> `1.0.19` |
| [serde_json](https://togithub.com/serde-rs/json) | workspace.dependencies | patch | `1.0.105` -> `1.0.107` |
| [sha1](https://togithub.com/RustCrypto/hashes) | workspace.dependencies | patch | `0.10.5` -> `0.10.6` |
| [sha2](https://togithub.com/RustCrypto/hashes) | workspace.dependencies | patch | `0.10.7` -> `0.10.8` |
| [syn](https://togithub.com/dtolnay/syn) | workspace.dependencies | patch | `2.0.29` -> `2.0.37` |
| [thiserror](https://togithub.com/dtolnay/thiserror) | workspace.dependencies | patch | `1.0.47` -> `1.0.49` |
| [unicode-width](https://togithub.com/unicode-rs/unicode-width) | workspace.dependencies | patch | `0.1.10` -> `0.1.11` |
| [walkdir](https://togithub.com/BurntSushi/walkdir) | workspace.dependencies | minor | `2.3.3` -> `2.4.0` |

---

### Release Notes

<details>
<summary>rust-cli/anstyle (anstream)</summary>

### [`v0.6.4`](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.3...anstream-v0.6.4)

[Compare Source](https://togithub.com/rust-cli/anstyle/compare/anstream-v0.6.3...anstream-v0.6.4)

</details>

<details>
<summary>marshallpierce/rust-base64 (base64)</summary>

### [`v0.21.4`](https://togithub.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0214)

[Compare Source](https://togithub.com/marshallpierce/rust-base64/compare/v0.21.3...v0.21.4)

-   Make `encoded_len` `const`, allowing the creation of arrays sized to encode compile-time-known data lengths

</details>

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

### [`v0.18.1`](https://togithub.com/rust-lang/git2-rs/blob/HEAD/CHANGELOG.md#0181---2023-09-20)

[Compare Source](https://togithub.com/rust-lang/git2-rs/compare/git2-0.18.0...git2-0.18.1)

[0.18.0...0.18.1](https://togithub.com/rust-lang/git2-rs/compare/git2-0.18.0...git2-0.18.1)

##### Added

-   Added `FetchOptions::depth` to set the depth of a fetch or clone, adding support for shallow clones.
    [#&#8203;979](https://togithub.com/rust-lang/git2-rs/pull/979)

##### Fixed

-   Fixed an internal data type (`TreeWalkCbData`) to not assume it is a transparent type while casting.
    [#&#8203;989](https://togithub.com/rust-lang/git2-rs/pull/989)
-   Fixed so that `DiffPatchidOptions` and `StashSaveOptions` are publicly exported allowing the corresponding APIs to actually be used.
    [#&#8203;988](https://togithub.com/rust-lang/git2-rs/pull/988)

</details>

<details>
<summary>nagisa/rust_libloading (libloading)</summary>

### [`v0.8.1`](https://togithub.com/nagisa/rust_libloading/compare/0.8.0...0.8.1)

[Compare Source](https://togithub.com/nagisa/rust_libloading/compare/0.8.0...0.8.1)

</details>

<details>
<summary>BurntSushi/memchr (memchr)</summary>

### [`v2.6.4`](https://togithub.com/BurntSushi/memchr/compare/2.6.3...2.6.4)

[Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.6.3...2.6.4)

### [`v2.6.3`](https://togithub.com/BurntSushi/memchr/compare/2.6.2...2.6.3)

[Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.6.2...2.6.3)

</details>

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

### [`v1.3.1`](https://togithub.com/proptest-rs/proptest/compare/v1.3.0...v1.3.1)

[Compare Source](https://togithub.com/proptest-rs/proptest/compare/v1.3.0...v1.3.1)

### [`v1.3.0`](https://togithub.com/proptest-rs/proptest/compare/v1.2.0...v1.3.0)

[Compare Source](https://togithub.com/proptest-rs/proptest/compare/v1.2.0...v1.3.0)

</details>

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

### [`v1.0.19`](https://togithub.com/dtolnay/semver/releases/tag/1.0.19)

[Compare Source](https://togithub.com/dtolnay/semver/compare/1.0.18...1.0.19)

-   Improve test coverage ([#&#8203;299](https://togithub.com/dtolnay/semver/issues/299), thanks [`@&#8203;CXWorks](https://togithub.com/CXWorks))`

</details>

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

### [`v1.0.107`](https://togithub.com/serde-rs/json/releases/tag/v1.0.107)

[Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.106...v1.0.107)

-   impl IntoDeserializer for \&RawValue ([#&#8203;1071](https://togithub.com/serde-rs/json/issues/1071))

### [`v1.0.106`](https://togithub.com/serde-rs/json/releases/tag/v1.0.106)

[Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.105...v1.0.106)

-   Add `Value::as_number` accessor ([#&#8203;1069](https://togithub.com/serde-rs/json/issues/1069), thanks [`@&#8203;chanced](https://togithub.com/chanced))`
-   Add `Number::as_str` accessor under "arbitrary_precision" feature ([#&#8203;1067](https://togithub.com/serde-rs/json/issues/1067), thanks [`@&#8203;chanced](https://togithub.com/chanced))`

</details>

<details>
<summary>RustCrypto/hashes (sha1)</summary>

### [`v0.10.6`](https://togithub.com/RustCrypto/hashes/compare/sha2-v0.10.5...sha2-v0.10.6)

[Compare Source](https://togithub.com/RustCrypto/hashes/compare/sha1-v0.10.5...sha1-v0.10.6)

</details>

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

### [`v2.0.37`](https://togithub.com/dtolnay/syn/releases/tag/2.0.37)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.36...2.0.37)

-   Work around incorrect future compatibility warning in rustc 1.74.0-nightly

### [`v2.0.36`](https://togithub.com/dtolnay/syn/releases/tag/2.0.36)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.35...2.0.36)

-   Restore compatibility with `--generate-link-to-definition` documentation builds ([#&#8203;1514](https://togithub.com/dtolnay/syn/issues/1514))

### [`v2.0.35`](https://togithub.com/dtolnay/syn/releases/tag/2.0.35)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.34...2.0.35)

-   Make rust-analyzer produce preferred brackets for invocations of `Token!` macro ([#&#8203;1510](https://togithub.com/dtolnay/syn/issues/1510), [#&#8203;1512](https://togithub.com/dtolnay/syn/issues/1512))

### [`v2.0.34`](https://togithub.com/dtolnay/syn/releases/tag/2.0.34)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.33...2.0.34)

-   Documentation improvements

### [`v2.0.33`](https://togithub.com/dtolnay/syn/releases/tag/2.0.33)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.32...2.0.33)

-   Special handling for the `(/*ERROR*/)` placeholder that rustc uses for macros that fail to expand

### [`v2.0.32`](https://togithub.com/dtolnay/syn/releases/tag/2.0.32)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.31...2.0.32)

-   Add `Path::require_ident` accessor ([#&#8203;1496](https://togithub.com/dtolnay/syn/issues/1496), thanks [`@&#8203;Fancyflame](https://togithub.com/Fancyflame))`

### [`v2.0.31`](https://togithub.com/dtolnay/syn/releases/tag/2.0.31)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.30...2.0.31)

-   Parse generics and where-clause on const items ([https://github.com/rust-lang/rust/issues/113521](https://togithub.com/rust-lang/rust/issues/113521))

### [`v2.0.30`](https://togithub.com/dtolnay/syn/releases/tag/2.0.30)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.29...2.0.30)

-   Parse unnamed struct/union type syntax ([https://github.com/rust-lang/rust/issues/49804](https://togithub.com/rust-lang/rust/issues/49804))

</details>

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

### [`v1.0.49`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.49)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.48...1.0.49)

-   Access libcore types through `::core` in generated code ([#&#8203;255](https://togithub.com/dtolnay/thiserror/issues/255), thanks [`@&#8203;mina86](https://togithub.com/mina86))`

### [`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

-   Improve implementation of displaying Path values in a generated Display impl ([#&#8203;251](https://togithub.com/dtolnay/thiserror/issues/251), thanks [`@&#8203;mina86](https://togithub.com/mina86))`

</details>

<details>
<summary>unicode-rs/unicode-width (unicode-width)</summary>

### [`v0.1.11`](https://togithub.com/unicode-rs/unicode-width/compare/v0.1.10...v0.1.11)

[Compare Source](https://togithub.com/unicode-rs/unicode-width/compare/v0.1.10...v0.1.11)

</details>

<details>
<summary>BurntSushi/walkdir (walkdir)</summary>

### [`v2.4.0`](https://togithub.com/BurntSushi/walkdir/compare/2.3.3...2.4.0)

[Compare Source](https://togithub.com/BurntSushi/walkdir/compare/2.3.3...2.4.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.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjMiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->
2023-10-01 23:38:18 +00:00
renovate[bot] 16e168de6a
chore(deps): update compatible 2023-10-01 19:54:31 +00:00
Tom Scanlan aee8c75410
bug: corruption when killed while writing 2023-10-01 08:29:24 -04:00
bors 9a7a04f654 Auto merge of #12754 - nnethercote:more-strip, r=weihanglo
Add more missing `strip` info to docs.

This is a follow-up to #12748.
2023-10-01 11:12:13 +00:00
Nicholas Nethercote f506b5a945 Capitalize some default entries for consistency. 2023-10-01 20:53:11 +11:00
Nicholas Nethercote 78f697f376 Add more missing strip info to docs.
Also change some `strip = false` mentions to `strip = "false"`.

This is a follow-up to #12748.
2023-10-01 20:51:28 +11:00
bors 7d6e312de5 Auto merge of #12762 - rust-lang:renovate/actions-checkout-4.x, r=weihanglo
chore(deps): update actions/checkout action to v4

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://togithub.com/actions/checkout) | action | major | `v3` -> `v4` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v4`](https://togithub.com/actions/checkout/blob/HEAD/CHANGELOG.md#v400)

[Compare Source](https://togithub.com/actions/checkout/compare/v3...v4)

-   [Support fetching without the --progress option](https://togithub.com/actions/checkout/pull/1067)
-   [Update to node20](https://togithub.com/actions/checkout/pull/1436)

</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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjMiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->
2023-10-01 05:42:57 +00:00
renovate[bot] 94024bf5e4
chore(deps): update actions/checkout action to v4 2023-10-01 03:07:56 +00:00