Commit graph

16458 commits

Author SHA1 Message Date
Weihang Lo 0d480df39a
refactor(cli): use format alignment 2024-01-08 21:33:12 -05:00
Weihang Lo 3d4407dcb9
test(cli): snapshot test for -Z help 2024-01-08 21:33:11 -05:00
bors c0db7f9227 Auto merge of #13266 - rust-lang:renovate/msrv, r=epage
chore(deps): update msrv

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

This PR contains the following updates:

| Package | Update | Change | Pending |
|---|---|---|---|
| [MSRV:1](https://togithub.com/rust-lang/rust) | minor | `1.73` -> `1.75.0` |  |
| [MSRV:3](https://togithub.com/rust-lang/rust) | minor | `1.70.0` -> `1.73` | `1.75` (+1) |

---

### Release Notes

<details>
<summary>rust-lang/rust (MSRV:1)</summary>

### [`v1.75.0`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1750-2023-12-28)

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

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

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

## Language

-   [Stabilize `async fn` and return-position `impl Trait` in traits.](https://togithub.com/rust-lang/rust/pull/115822/)
-   [Allow function pointer signatures containing `&mut T` in `const` contexts.](https://togithub.com/rust-lang/rust/pull/116015/)
-   [Match `usize`/`isize` exhaustively with half-open ranges.](https://togithub.com/rust-lang/rust/pull/116692/)
-   [Guarantee that `char` has the same size and alignment as `u32`.](https://togithub.com/rust-lang/rust/pull/116894/)
-   [Document that the null pointer has the 0 address.](https://togithub.com/rust-lang/rust/pull/116988/)
-   [Allow partially moved values in `match`.](https://togithub.com/rust-lang/rust/pull/103208/)
-   [Add notes about non-compliant FP behavior on 32bit x86 targets.](https://togithub.com/rust-lang/rust/pull/113053/)
-   [Stabilize ratified RISC-V target features.](https://togithub.com/rust-lang/rust/pull/116485/)

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

## Compiler

-   [Rework negative coherence to properly consider impls that only partly overlap.](https://togithub.com/rust-lang/rust/pull/112875/)
-   [Bump `COINDUCTIVE_OVERLAP_IN_COHERENCE` to deny, and warn in dependencies.](https://togithub.com/rust-lang/rust/pull/116493/)
-   [Consider alias bounds when computing liveness in NLL.](https://togithub.com/rust-lang/rust/pull/116733/)
-   [Add the V (vector) extension to the `riscv64-linux-android` target spec.](https://togithub.com/rust-lang/rust/pull/116618/)
-   [Automatically enable cross-crate inlining for small functions](https://togithub.com/rust-lang/rust/pull/116505)
-   Add several new tier 3 targets:
    -   [`csky-unknown-linux-gnuabiv2hf`](https://togithub.com/rust-lang/rust/pull/117049/)
    -   [`i586-unknown-netbsd`](https://togithub.com/rust-lang/rust/pull/117170/)
    -   [`mipsel-unknown-netbsd`](https://togithub.com/rust-lang/rust/pull/117356/)

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

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

## Libraries

-   [Override `Waker::clone_from` to avoid cloning `Waker`s unnecessarily.](https://togithub.com/rust-lang/rust/pull/96979/)
-   [Implement `BufRead` for `VecDeque<u8>`.](https://togithub.com/rust-lang/rust/pull/110604/)
-   [Implement `FusedIterator` for `DecodeUtf16` when the inner iterator does.](https://togithub.com/rust-lang/rust/pull/110729/)
-   [Implement `Not, Bit{And,Or}{,Assign}` for IP addresses.](https://togithub.com/rust-lang/rust/pull/113747/)
-   [Implement `Default` for `ExitCode`.](https://togithub.com/rust-lang/rust/pull/114589/)
-   [Guarantee representation of None in NPO](https://togithub.com/rust-lang/rust/pull/115333/)
-   [Document when atomic loads are guaranteed read-only.](https://togithub.com/rust-lang/rust/pull/115577/)
-   [Broaden the consequences of recursive TLS initialization.](https://togithub.com/rust-lang/rust/pull/116172/)
-   [Windows: Support sub-millisecond sleep.](https://togithub.com/rust-lang/rust/pull/116461/)
-   [Fix generic bound of `str::SplitInclusive`'s `DoubleEndedIterator` impl](https://togithub.com/rust-lang/rust/pull/100806/)
-   [Fix exit status / wait status on non-Unix `cfg(unix)` platforms.](https://togithub.com/rust-lang/rust/pull/115108/)

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

## Stabilized APIs

-   [`Atomic*::from_ptr`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.from_ptr)
-   [`FileTimes`](https://doc.rust-lang.org/stable/std/fs/struct.FileTimes.html)
-   [`FileTimesExt`](https://doc.rust-lang.org/stable/std/os/windows/fs/trait.FileTimesExt.html)
-   [`File::set_modified`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.set_modified)
-   [`File::set_times`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.set_times)
-   [`IpAddr::to_canonical`](https://doc.rust-lang.org/stable/core/net/enum.IpAddr.html#method.to_canonical)
-   [`Ipv6Addr::to_canonical`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.to_canonical)
-   [`Option::as_slice`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_slice)
-   [`Option::as_mut_slice`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_mut_slice)
-   [`pointer::byte_add`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_add)
-   [`pointer::byte_offset`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_offset)
-   [`pointer::byte_offset_from`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_offset_from)
-   [`pointer::byte_sub`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.byte_sub)
-   [`pointer::wrapping_byte_add`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_add)
-   [`pointer::wrapping_byte_offset`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_offset)
-   [`pointer::wrapping_byte_sub`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.wrapping_byte_sub)

These APIs are now stable in const contexts:

-   [`Ipv6Addr::to_ipv4_mapped`](https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.to_ipv4\_mapped)
-   [`MaybeUninit::assume_init_read`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.assume_init_read)
-   [`MaybeUninit::zeroed`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.zeroed)
-   [`mem::discriminant`](https://doc.rust-lang.org/stable/core/mem/fn.discriminant.html)
-   [`mem::zeroed`](https://doc.rust-lang.org/stable/core/mem/fn.zeroed.html)

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

## Cargo

-   [Add new packages to `[workspace.members]` automatically.](https://togithub.com/rust-lang/cargo/pull/12779/)
-   [Allow version-less `Cargo.toml` manifests.](https://togithub.com/rust-lang/cargo/pull/12786/)
-   [Make browser links out of HTML file paths.](https://togithub.com/rust-lang/cargo/pull/12889)

<a id="1.75.0-Rustdoc"></a>

## Rustdoc

-   [Accept less invalid Rust in rustdoc.](https://togithub.com/rust-lang/rust/pull/117450/)
-   [Document lack of object safety on affected traits.](https://togithub.com/rust-lang/rust/pull/113241/)
-   [Hide `#[repr(transparent)]` if it isn't part of the public ABI.](https://togithub.com/rust-lang/rust/pull/115439/)
-   [Show enum discriminant if it is a C-like variant.](https://togithub.com/rust-lang/rust/pull/116142/)

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

## Compatibility Notes

-   [FreeBSD targets now require at least version 12.](https://togithub.com/rust-lang/rust/pull/114521/)
-   [Formally demote tier 2 MIPS targets to tier 3.](https://togithub.com/rust-lang/rust/pull/115238/)
-   [Make misalignment a hard error in `const` contexts.](https://togithub.com/rust-lang/rust/pull/115524/)
-   [Fix detecting references to packed unsized fields.](https://togithub.com/rust-lang/rust/pull/115583/)
-   [Remove support for compiler plugins.](https://togithub.com/rust-lang/rust/pull/116412/)

<a id="1.75.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.

-   [Optimize `librustc_driver.so` with BOLT.](https://togithub.com/rust-lang/rust/pull/116352/)
-   [Enable parallel rustc front end in dev and nightly builds.](https://togithub.com/rust-lang/rust/pull/117435/)
-   [Distribute `rustc-codegen-cranelift` as rustup component on the nightly channel.](https://togithub.com/rust-lang/rust/pull/81746/)

### [`v1.74.1`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1741-2023-12-07)

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

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

-   [Resolved spurious STATUS_ACCESS_VIOLATIONs in LLVM](https://togithub.com/rust-lang/rust/pull/118464)
-   [Clarify guarantees for std::mem::discriminant](https://togithub.com/rust-lang/rust/pull/118006)
-   [Fix some subtyping-related regressions](https://togithub.com/rust-lang/rust/pull/116415)

### [`v1.74.0`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1740-2023-11-16)

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

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

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

## Language

-   [Codify that `std::mem::Discriminant<T>` does not depend on any lifetimes in T](https://togithub.com/rust-lang/rust/pull/104299/)
-   [Replace `private_in_public` lint with `private_interfaces` and `private_bounds` per RFC 2145.](https://togithub.com/rust-lang/rust/pull/113126/)
    Read more in [RFC 2145](https://rust-lang.github.io/rfcs/2145-type-privacy.html).
-   [Allow explicit `#[repr(Rust)]`](https://togithub.com/rust-lang/rust/pull/114201/)
-   [closure field capturing: don't depend on alignment of packed fields](https://togithub.com/rust-lang/rust/pull/115315/)
-   [Enable MIR-based drop-tracking for `async` blocks](https://togithub.com/rust-lang/rust/pull/107421/)
-   [Stabilize `impl_trait_projections`](https://togithub.com/rust-lang/rust/pull/115659)

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

## Compiler

-   [stabilize combining +bundle and +whole-archive link modifiers](https://togithub.com/rust-lang/rust/pull/113301/)
-   [Stabilize `PATH` option for `--print KIND=PATH`](https://togithub.com/rust-lang/rust/pull/114183/)
-   [Enable ASAN/LSAN/TSAN for `*-apple-ios-macabi`](https://togithub.com/rust-lang/rust/pull/115644/)
-   [Promote loongarch64-unknown-none\* to Tier 2](https://togithub.com/rust-lang/rust/pull/115368/)
-   [Add `i686-pc-windows-gnullvm` as a tier 3 target](https://togithub.com/rust-lang/rust/pull/115687/)

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

## Libraries

-   [Implement `From<OwnedFd/Handle>` for ChildStdin/out/err](https://togithub.com/rust-lang/rust/pull/98704/)
-   [Implement `From<{&,&mut} [T; N]>` for `Vec<T>` where `T: Clone`](https://togithub.com/rust-lang/rust/pull/111278/)
-   [impl Step for IP addresses](https://togithub.com/rust-lang/rust/pull/113748/)
-   [Implement `From<[T; N]>` for `Rc<[T]>` and `Arc<[T]>`](https://togithub.com/rust-lang/rust/pull/114041/)
-   [`impl TryFrom<char> for u16`](https://togithub.com/rust-lang/rust/pull/114065/)
-   [Stabilize `io_error_other` feature](https://togithub.com/rust-lang/rust/pull/115453/)
-   [Stabilize the `Saturating` type](https://togithub.com/rust-lang/rust/pull/115477/)
-   [Stabilize const_transmute_copy](https://togithub.com/rust-lang/rust/pull/115520/)

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

## Stabilized APIs

-   [`core::num::Saturating`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html)
-   [`impl From<io::Stdout> for std::process::Stdio`](https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStdout%3E-for-Stdio)
-   [`impl From<io::Stderr> for std::process::Stdio`](https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio)
-   [`impl From<OwnedHandle> for std::process::Child{Stdin, Stdout, Stderr}`](https://doc.rust-lang.org/stable/std/process/struct.ChildStderr.html#impl-From%3COwnedHandle%3E-for-ChildStderr)
-   [`impl From<OwnedFd> for std::process::Child{Stdin, Stdout, Stderr}`](https://doc.rust-lang.org/stable/std/process/struct.ChildStderr.html#impl-From%3COwnedFd%3E-for-ChildStderr)
-   [`std::ffi::OsString::from_encoded_bytes_unchecked`](https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.from_encoded_bytes_unchecked)
-   [`std::ffi::OsString::into_encoded_bytes`](https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.into_encoded_bytes)
-   [`std::ffi::OsStr::from_encoded_bytes_unchecked`](https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.from_encoded_bytes_unchecked)
-   [`std::ffi::OsStr::as_encoded_bytes`](https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.as_encoded_bytes)
-   [`std::io::Error::other`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.other)
-   [`impl TryFrom<char> for u16`](https://doc.rust-lang.org/stable/std/primitive.u16.html#impl-TryFrom%3Cchar%3E-for-u16)
-   [`impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E)
-   [`impl<T: Clone, const N: usize> From<&mut [T; N]> for Vec<T>`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26mut+%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E)
-   [`impl<T, const N: usize> From<[T; N]> for Arc<[T]>`](https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#impl-From%3C%5BT;+N%5D%3E-for-Arc%3C%5BT%5D,+Global%3E)
-   [`impl<T, const N: usize> From<[T; N]> for Rc<[T]>`](https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#impl-From%3C%5BT;+N%5D%3E-for-Rc%3C%5BT%5D,+Global%3E)

These APIs are now stable in const contexts:

-   [`core::mem::transmute_copy`](https://doc.rust-lang.org/beta/std/mem/fn.transmute_copy.html)
-   [`str::is_ascii`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.is_ascii)
-   [`[u8]::is_ascii`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.is_ascii)

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

## Cargo

-   [In `Cargo.toml`, stabilize `[lints]`](https://togithub.com/rust-lang/cargo/pull/12648/)
-   [Stabilize credential-process and registry-auth](https://togithub.com/rust-lang/cargo/pull/12649/)
-   [Stabilize `--keep-going` build flag](https://togithub.com/rust-lang/cargo/pull/12568/)
-   [Add styling to `--help` output](https://togithub.com/rust-lang/cargo/pull/12578/)
-   [For `cargo clean`, add `--dry-run` flag and summary line at the end](https://togithub.com/rust-lang/cargo/pull/12638)
-   [For `cargo update`, make `--package` more convenient by being positional](https://togithub.com/rust-lang/cargo/pull/12545/)
-   [For `cargo update`, clarify meaning of --aggressive as --recursive](https://togithub.com/rust-lang/cargo/pull/12544/)
-   [Add '-n' as an alias for `--dry-run`](https://togithub.com/rust-lang/cargo/pull/12660/)
-   [Allow version-prefixes in pkgid's (e.g. `--package` flags) to resolve ambiguities](https://togithub.com/rust-lang/cargo/pull/12614/)
-   [In `.cargo/config.toml`, merge lists in precedence order](https://togithub.com/rust-lang/cargo/pull/12515/)
-   [Add support for `target.'cfg(..)'.linker`](https://togithub.com/rust-lang/cargo/pull/12535/)

<a id="1.74.0-Rustdoc"></a>

## Rustdoc

-   [Add warning block support in rustdoc](https://togithub.com/rust-lang/rust/pull/106561/)
-   [rustdoc-search: add support for type parameters](https://togithub.com/rust-lang/rust/pull/112725/)
-   [rustdoc: show inner enum and struct in type definition for concrete type](https://togithub.com/rust-lang/rust/pull/114855/)

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

## Compatibility Notes

-   [Raise minimum supported Apple OS versions](https://togithub.com/rust-lang/rust/pull/104385/)
-   [make Cell::swap panic if the Cells partially overlap](https://togithub.com/rust-lang/rust/pull/114795/)
-   [Reject invalid crate names in `--extern`](https://togithub.com/rust-lang/rust/pull/116001/)
-   [Don't resolve generic impls that may be shadowed by dyn built-in impls](https://togithub.com/rust-lang/rust/pull/114941/)
-   [The new `impl From<{&,&mut} [T; N]> for Vec<T>` is known to cause some inference failures with overly-generic code.](https://togithub.com/rust-lang/rust/issues/117054) In those examples using the `tui` crate, the combination of `AsRef<_>` and `Into<Vec>` leaves the middle type ambiguous, and the new `impl` adds another possibility, so it now requires an explicit type annotation.

<a id="1.74.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.

None this cycle.

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

👻 **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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-01-09 01:25:03 +00:00
bors 25ffcc6895 Auto merge of #13267 - epage:virtual, r=weihanglo
refactor(toml): Make it more obvious to update package-dependent fields

Inspired by my having forgotten to add `[lints]` to the if sequence. Previously, we added a comment to suggest this but the further the code is, the harder it is to track.

I considered a custom `Deserialize` impl, possibly through a new type, that would error.
This would be the more "pure" solution.
Unfortunately, this would also have worse errors because the errors would be reported to the `Deserializer` at the document-level, rather than directly on the individual fields.
Well, we don't do on individual fields now but it is something we will soon be exploring.
2024-01-08 22:21:43 +00:00
renovate[bot] 03beda3a6e chore(deps): update msrv 2024-01-08 22:17:07 +00:00
bors 7636f03496 Auto merge of #13268 - epage:msrv, r=weihanglo
chore(ci): Fix MSRV:3 updates

PR #13266 shows that #13265 worked, so extending it to also cover `MSRV:3` updates.

Really, I just forgot...
2024-01-08 21:46:45 +00:00
Ed Page 2f85ded787 chore(ci): Fix MSRV:3 updates
PR #13266 shows that #13265 worked, so extending it to also cover
`MSRV:3` updates.

Really, I just forgot...
2024-01-08 15:39:21 -06:00
Ed Page 62eab55ed2 refactor(toml): Make it more obvious to update package-dependent fields
Inspired by my having forgotten to add `[lints]` to the if sequence.
Previously, we added a comment to suggest this but the further the code
is, the harder it is to track.

I considered a custom `Deserialize` impl, possibly through a new type,
that would error.
This would be the more "pure" solution.
Unfortunately, this would also have worse errors because the errors
would be reported to the `Deserializer` at the document-level, rather
than directly on the individual fields.
Well, we don't do on individual fields now but it is something we will
soon be exploring.
2024-01-08 15:34:38 -06:00
bors 90d1ea8c5a Auto merge of #13265 - epage:msrv, r=weihanglo
chore(ci): Shot-in-the-dark fix for MSRV updating

With #13254, we found MSRV updating is broken.
PR #12775 is the last MSRV we got.
That was merged before #12654 and #13106.
That makes #12654 the most likely culprit.

Looking at the logs:
```
DEBUG: Matched 24 file(s) for manager regex: Cargo.toml, benches/benchsuite/Cargo.toml, benches/capture/Cargo.toml, crates/cargo-platform/Cargo.toml, crates/cargo-test-macro/Cargo.toml, crates/cargo-test-support/Cargo.toml, crates/cargo-test-support/containers/apache/bar/Cargo.toml, crates/cargo-test-support/containers/sshd/bar/Cargo.toml, crates/cargo-util-schemas/Cargo.toml, crates/cargo-util/Cargo.toml, crates/crates-io/Cargo.toml, crates/home/Cargo.toml, crates/mdman/Cargo.toml, crates/resolver-tests/Cargo.toml, crates/rustfix/Cargo.toml, crates/semver-check/Cargo.toml, crates/xtask-build-man/Cargo.toml, crates/xtask-bump-check/Cargo.toml, crates/xtask-stale-label/Cargo.toml, credential/cargo-credential-1password/Cargo.toml, credential/cargo-credential-libsecret/Cargo.toml, credential/cargo-credential-macos-keychain/Cargo.toml, credential/cargo-credential-wincred/Cargo.toml, credential/cargo-credential/Cargo.toml
...
DEBUG: manager extract durations (ms)
{
  "managers": {
    "dockerfile": 30,
    "github-actions": 38,
    "regex": 386,
    "cargo": 855
  }
}
DEBUG: Found cargo package files
DEBUG: Found dockerfile package files
DEBUG: Found github-actions package files
DEBUG: Found 25 package file(s)
```
Our regex managers have the files matched
but no regex manager packages are found.
I think this means that the name association failed or the regex within the file content failed.

The differences between cargo and my other projects
- Use of `:`
- `depNameTemplate`
- Presence of `\b`

As a first attempt, I'm going to switch `\b` to `\\b` to be like the other escaped regex values.
2024-01-08 20:52:37 +00:00
Ed Page 82e80302a7 chore(ci): Shot-in-the-dark fix for MSRV updating
With #13254, we found MSRV updating is broken.
PR #12775 is the last MSRV we got.
That was merged before #12654 and #13106.
That makes #12654 the most likely culprit.

Looking at the logs:
```
DEBUG: Matched 24 file(s) for manager regex: Cargo.toml, benches/benchsuite/Cargo.toml, benches/capture/Cargo.toml, crates/cargo-platform/Cargo.toml, crates/cargo-test-macro/Cargo.toml, crates/cargo-test-support/Cargo.toml, crates/cargo-test-support/containers/apache/bar/Cargo.toml, crates/cargo-test-support/containers/sshd/bar/Cargo.toml, crates/cargo-util-schemas/Cargo.toml, crates/cargo-util/Cargo.toml, crates/crates-io/Cargo.toml, crates/home/Cargo.toml, crates/mdman/Cargo.toml, crates/resolver-tests/Cargo.toml, crates/rustfix/Cargo.toml, crates/semver-check/Cargo.toml, crates/xtask-build-man/Cargo.toml, crates/xtask-bump-check/Cargo.toml, crates/xtask-stale-label/Cargo.toml, credential/cargo-credential-1password/Cargo.toml, credential/cargo-credential-libsecret/Cargo.toml, credential/cargo-credential-macos-keychain/Cargo.toml, credential/cargo-credential-wincred/Cargo.toml, credential/cargo-credential/Cargo.toml
...
DEBUG: manager extract durations (ms)
{
  "managers": {
    "dockerfile": 30,
    "github-actions": 38,
    "regex": 386,
    "cargo": 855
  }
}
DEBUG: Found cargo package files
DEBUG: Found dockerfile package files
DEBUG: Found github-actions package files
DEBUG: Found 25 package file(s)
```
Our regex managers have the files matched
but no regex manager packages are found.
I think this means that the name association failed or the regex within
the file content failed.

The differences between cargo and my other projects
- Use of `:`
- `depNameTemplate`
- Presence of `\b`

As a first attempt, I'm going to switch `\b` to `\\b` to be like the
other escaped regex values.
2024-01-08 12:11:55 -06:00
bors 0c98d6ec3a Auto merge of #13204 - hi-rustin:rustin-patch-test-out-dir, r=ehuss
fix: set OUT_DIR for all units with build scripts
2024-01-08 17:45:14 +00:00
bors 484f0f2a1b Auto merge of #13262 - epage:unused, r=ehuss
fix(manifest): Provide unused key warnings for lints table

### What does this PR try to resolve?

The use of `flatten` was getting in the way of `serde_ignored`.
A common workaround is to add our own `unused` tracking but that would
cause duplicates with `workspace.lints` (or we'd just ignore it).

Since the manual deserializer was relatively simple, I went that route.

Fixes #12917

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

Per commit

A test was added for the issue.  I then was worried about regressions in `workspace = false` errors (and I was right) so I added a test for that.  To get `workspace = false` to work nicely, I made it share code with other `workspace: bool` fields.

### Additional information
2024-01-08 17:06:42 +00:00
bors bde42f1bc6 Auto merge of #13263 - epage:unused2, r=ehuss
test(manifest): Verify we warn on unused workspace.package fields

I assumed from #13258 that we didn't warn but apparently we do.  Figured it'd still be good to keep the test around.
2024-01-08 15:50:10 +00:00
Ed Page 96fa278540 test(manifest): Verify we warn on unused workspace.package fields
Inspired by #13258
2024-01-08 09:21:31 -06:00
bors 8fefb3cb8e Auto merge of #13260 - epage:change, r=ehuss
docs(changelog): Call out cargo-new lockfile change

I was looking for what release this happened in but we didn't have it listed.
We do list the documentation change.
This was likely from the PR focusing on the entire policy change which made it easy to overlook each aspect of the policy change.
2024-01-08 15:20:43 +00:00
Ed Page 6e86530ae2 fix(manifest): Provide unused key warnings for lints table
The use of `flatten` was getting in the way of `serde_ignored`.
A common workaround is to add our own `unused` tracking but that would
cause duplicates with `workspace.lints` (or we'd just ignore it).

Since the manual deserializer was relatively simple, I went that route.

Fixes #12917
2024-01-08 09:12:46 -06:00
Ed Page e37a04a9d4 refactor(schema): Use dedicated type for 'workspace' field value 2024-01-08 09:06:03 -06:00
Ed Page 4760ef7822 test(lints): Verify we can't un-inherit 2024-01-08 08:49:04 -06:00
Ed Page ef6954cd01 test(lints): Check unused key status 2024-01-08 08:27:34 -06:00
hi-rustin 87345a1932 test: correct not_inherit_workspace_package_table_if_not_members case
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2024-01-08 21:55:41 +08:00
Ed Page 9c73c54fe8 docs(changelog): Call out cargo-new lockfile change
I was looking for what release this happened in but we didn't have it
listed.
We do list the documentation change.
This was likely from the PR focusing on the entire policy change which
made it easy to overlook each aspect of the policy change.
2024-01-08 07:20:24 -06:00
hi-rustin 6739c7e95e fix: set OUT_DIR for all units with build scripts
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2024-01-08 20:59:18 +08:00
hi-rustin 8bba4f48c4 test: include a case for setting OUT_DIR
Signed-off-by: hi-rustin <rustin.liu@gmail.com>

test: remove the env set by Cargo

Signed-off-by: hi-rustin <rustin.liu@gmail.com>

Fix

Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2024-01-08 20:58:52 +08:00
bors 13e97927cc Auto merge of #13255 - epage:dashboard, r=weihanglo
chore: Add dependency dashboard

Example: https://github.com/clap-rs/clap/issues/4824

I'm hoping this will make it easier to see what is going on with problems with RenovateBot, like our MSRVs not updating atm (#13254).
2024-01-06 04:38:27 +00:00
Ed Page a93f4d8a18 chore: Add dependency dashboard
Example: https://github.com/clap-rs/clap/issues/4824

I'm hoping this will make it easier to see what is going on with
problems with RenovateBot, like our MSRVs not updating atm (#13254).
2024-01-05 20:08:43 -06:00
heisen-li 5023f20c4c delete --lib unit test description 2024-01-05 11:40:33 +08:00
bors 2ce45605d9 Auto merge of #13247 - epage:prefix, r=Muscraft
feat(embedded): Add prefix-char frontmatter syntax support

This is a follow up to #13241 with another syntax being discussed. This one is a bit more polarizing but we're hoping first-hand experience with it can help people get a feel for how well it works in practice.

As the experiment is meant to be short-lived, this is implemented in a hacky way and docs aren't updated.
2024-01-04 18:04:13 +00:00
bors 87eb374d49 Auto merge of #13249 - WeiTheShinobi:update_dependency_handlebars, r=epage
Update dependency handlebars to v5 for mdman.

### What does this PR try to resolve?

issue #13238
- update dependency handlebars 4.5.0 -> 5.0.0
- fix code to fit the changes of Handlebars API
- RenderError::new() is deprecated. Use RenderErrorReason instead

### How should we test and review this PR?
pass all tests in /crates/mdman/tests
2024-01-04 16:03:50 +00:00
WeiTheShinobi 06201b9892 Update dependency handlebars to v5 for mdman.
- handlebars 4.5.0 -> 5.0.0
- fix code to fit the changes of Handlebars API
- RenderError::new() is deprecated. Use RenderErrorReason instead
2024-01-04 22:59:46 +08:00
bors a88535459f Auto merge of #13248 - bjorn3:deprecate_plugin, r=weihanglo
Deprecate rustc plugin support in cargo
2024-01-04 13:55:41 +00:00
bjorn3 f26e2fe1da Deprecate rustc plugin support in cargo
It has been removed entirely from rustc itself already
2024-01-04 13:17:50 +01:00
Ed Page b77ce7fa29 feat(embedded): Add prefix-char frontmatter syntax support
This is a follow up to #13241 with another syntax being discussed.
This one is a bit more polarizing but we're hoping first-hand experience
with it can help people get a feel for how well it works in practice.

As the experiment is meant to be short-lived, this is implemented in a
hacky way and docs aren't updated.
2024-01-03 16:39:43 -06:00
bors f9946d15df Auto merge of #13241 - epage:syntax, r=Muscraft
feat(embedded): Add multiple experimental manifest syntaxes

### What does this PR try to resolve?

As syntax discussions for "cargo script" are on-going, this allows us to experiment with a couple of them so we can see how they work in practice.

This is missing the line-prefix syntax as we decide how we want to separate blocks for it.

While doing this, I removed the previous doc-comment syntax.  This was left in for transition purposes.  With where discussions are going, its unlikely we'll go back to that syntax.

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

### Additional information

rust-lang/rfcs#3503

https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/Syntax.20for.20embedded.20tooling.20metadata
2024-01-03 21:26:07 +00:00
bors e045049131 Auto merge of #13244 - weihanglo:auto-label, r=ehuss
chore: update auto labels

See

* `A-errors` has been renamed to `A-diagnostics`
* Some manifest related modules were moved to `cargo-util-schemas`.
2024-01-03 20:40:33 +00:00
Weihang Lo 872f4dff8d
chore: remove A-errors auto label 2024-01-03 15:06:48 -05:00
Weihang Lo c1461b5f1f
chore: label A-manifest for part of cargo-util-schemas 2024-01-03 15:05:13 -05:00
Weihang Lo 77a5f24796
chore: label Command-fix for diagnostic-server changes 2024-01-03 15:05:13 -05:00
Ed Page 22200b7df9 feat(embedded): Allow experimenting with triple dash/hash fences 2024-01-03 12:01:07 -06:00
bors 8de3343d80 Auto merge of #13245 - linyihai:publish-public-in-test, r=epage
test: support publish package with a `public` field.

### What does this PR try to resolve?

This PR add a `public` alike method to support add a dependency as public/private,
```
Package::new("foo", "0.1.0")
        .cargo_feature("public-dependency").add_dep(Dependency::new("bar", "0.1.0").public(true))
```

and then get it from registry in test.

This PR was seperated from the https://github.com/rust-lang/cargo/pull/13183.

### How should we test and review this PR?
You can review on per commit.

After running the test case `publish_package_with_public_dependency`,  you can check a "public" field in `./target/tmp/cit/t0/registry/3/b/bar`.

### Additional information
r? epage
2024-01-03 15:04:26 +00:00
bors dfdd5ff81a Auto merge of #13243 - ehuss:fix-fewer-rustc, r=epage
`cargo fix`: Call rustc fewer times.

This is an improvement of `cargo fix` so that it calls `rustc` one fewer times per target. The original code an extra step of calling `rustc` to display final diagnostics to the user. Part of the reason is that in the past, cargo did not always use JSON, and so `cargo fix` was forced to call `rustc` with and without JSON. Now that cargo uses JSON all the time, that is not necessary. This avoids the final call to `rustc` by remembering the original output from `rustc`.

This needs to keep track of both the first and last output from `rustc`. This is to handle the situation where `cargo fix` fails to apply some suggestion (either because the verification fails, or `rustfix` fails). The `cargo fix` output includes both the error, and the original diagnostics before the error.

The first commit is a little test framework to exercise the various edge cases around how fix works. The comments should explain how it works, but it essentially has a `rustc` replacement that emits various different diagnostics and counts how often it is called.

The subsequent commit includes the change to keep track of the output from `rustc` and to avoid the final call.

Fixes #13215
2024-01-03 02:17:45 +00:00
Eric Huss e7eaa51909 cargo fix: Call rustc fewer times.
This changes `cargo fix` so that it keeps track of the output so that it
doesn't need to run the final "show the output" step.
2024-01-02 15:03:06 -08:00
Eric Huss 8ffd9cd86f Add tests validating the sequence for cargo fix.
This adds a set of tests which validates various edge cases around how
`cargo fix` works in terms of calling `rustc` multiple times. This uses
a replacement of `rustc` so it doesn't depend on the behavior of rustc
itself which is not always stable.
2024-01-02 14:54:41 -08:00
bors b41f084ccb Auto merge of #13239 - weihanglo:tracing-core, r=epage
chore: tracing be compat with rustc_log
2024-01-02 22:41:16 +00:00
Ed Page e46f916807 fix(embedded): Make infostring optional
This is to allow us to experiment with how things change if there is no
infostring.
2024-01-02 16:25:14 -06:00
Ed Page 7e5dd711b5 fix(embedded)!: Remove doc comment manifest support
We added code fence support in ba869d36ed
(September), so I think this was enough of a transition period and there
is little interest in going back to this.
2024-01-02 16:25:12 -06:00
Weihang Lo 54e83c2969
chore: tracing be compat with rustc_log
The current version of rustfix cannot be used in rust-lang/rust due
to the dependency on `tracing`. `tracing-core` is currently locked
to 0.1.30, which is too old for the version in the cargo repo
(it looks like they are trying to avoid a known deadlock).

See: https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/rustfix.20is.20incompatible.20with.20rust-lang.2Frust
2024-01-02 15:32:15 -05:00
Lin Yihai 35d5fae5b6 test: support publish package with a public field. 2024-01-03 04:08:59 +08:00
bors 42d2c028bd Auto merge of #13227 - rust-lang:renovate/compatible, r=ehuss
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 |
|---|---|---|---|
| [anyhow](https://togithub.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.75` -> `1.0.79` |
| [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies | patch | `4.4.10` -> `4.4.12` |
| [filetime](https://togithub.com/alexcrichton/filetime) | workspace.dependencies | patch | `0.2.22` -> `0.2.23` |
| [home](https://togithub.com/rust-lang/cargo) | workspace.dependencies | patch | `0.5.5` -> `0.5.9` |
| [http-auth](https://togithub.com/scottlamb/http-auth) | workspace.dependencies | patch | `0.1.8` -> `0.1.9` |
| [libc](https://togithub.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.150` -> `0.2.151` |
| [memchr](https://togithub.com/BurntSushi/memchr) | workspace.dependencies | minor | `2.6.4` -> `2.7.1` |
| [pasetors](https://togithub.com/brycx/pasetors) | workspace.dependencies | patch | `0.6.7` -> `0.6.8` |
| [pkg-config](https://togithub.com/rust-lang/pkg-config-rs) | workspace.dependencies | patch | `0.3.27` -> `0.3.28` |
| [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.193` -> `1.0.194` |
| [serde-untagged](https://togithub.com/dtolnay/serde-untagged) | workspace.dependencies | patch | `0.1.1` -> `0.1.4` |
| [serde_json](https://togithub.com/serde-rs/json) | workspace.dependencies | patch | `1.0.108` -> `1.0.110` |
| [similar](https://togithub.com/mitsuhiko/similar) | dev-dependencies | minor | `2.3.0` -> `2.4.0` |
| [snapbox](https://togithub.com/assert-rs/trycmd/tree/main/crates/snapbox) ([source](https://togithub.com/assert-rs/trycmd)) | workspace.dependencies | patch | `0.4.14` -> `0.4.15` |
| [syn](https://togithub.com/dtolnay/syn) | workspace.dependencies | patch | `2.0.39` -> `2.0.46` |
| [tempfile](https://stebalien.com/projects/tempfile-rs/) ([source](https://togithub.com/Stebalien/tempfile)) | workspace.dependencies | minor | `3.8.1` -> `3.9.0` |
| [thiserror](https://togithub.com/dtolnay/thiserror) | workspace.dependencies | patch | `1.0.50` -> `1.0.56` |

---

### Release Notes

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

### [`v1.0.79`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.79)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.78...1.0.79)

-   Work around improperly cached build script result by sccache ([#&#8203;340](https://togithub.com/dtolnay/anyhow/issues/340))

### [`v1.0.78`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.78)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.77...1.0.78)

-   Reduce spurious rebuilds under RustRover IDE when using a nightly toolchain ([#&#8203;337](https://togithub.com/dtolnay/anyhow/issues/337))

### [`v1.0.77`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.77)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.76...1.0.77)

-   Make `anyhow::Error::backtrace` available on stable Rust compilers 1.65+ ([#&#8203;293](https://togithub.com/dtolnay/anyhow/issues/293), thanks [`@&#8203;LukasKalbertodt](https://togithub.com/LukasKalbertodt))`

### [`v1.0.76`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.76)

[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.75...1.0.76)

-   Opt in to `unsafe_op_in_unsafe_fn` lint ([#&#8203;329](https://togithub.com/dtolnay/anyhow/issues/329))

</details>

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

### [`v4.4.12`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4412---2023-12-28)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.11...v4.4.12)

##### Performance

-   Only ask `TypedValueParser` for possible values if needed

</details>

<details>
<summary>scottlamb/http-auth (http-auth)</summary>

### [`v0.1.9`](https://togithub.com/scottlamb/http-auth/blob/HEAD/CHANGELOG.md#v019-2023-12-28)

[Compare Source](https://togithub.com/scottlamb/http-auth/compare/v0.1.8...v0.1.9)

-   support conversion from `http` crate version 1.0 types.

</details>

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

### [`v2.7.1`](https://togithub.com/BurntSushi/memchr/compare/2.7.0...2.7.1)

[Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.7.0...2.7.1)

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

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

</details>

<details>
<summary>rust-lang/pkg-config-rs (pkg-config)</summary>

### [`v0.3.28`](https://togithub.com/rust-lang/pkg-config-rs/blob/HEAD/CHANGELOG.md#0328---2023-12-20)

[Compare Source](https://togithub.com/rust-lang/pkg-config-rs/compare/0.3.27...0.3.28)

##### Fixed

-   Pass -l:libfoo.a to linker directly ([#&#8203;149](https://togithub.com/rust-lang/pkg-config-rs/issues/149)).

##### Changed

-   Improve error message when library not found ([#&#8203;158](https://togithub.com/rust-lang/pkg-config-rs/issues/158)).

</details>

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

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

[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.193...v1.0.194)

-   Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache

</details>

<details>
<summary>dtolnay/serde-untagged (serde-untagged)</summary>

### [`v0.1.4`](https://togithub.com/dtolnay/serde-untagged/compare/0.1.3...0.1.4)

[Compare Source](https://togithub.com/dtolnay/serde-untagged/compare/0.1.3...0.1.4)

### [`v0.1.3`](https://togithub.com/dtolnay/serde-untagged/releases/tag/0.1.3)

[Compare Source](https://togithub.com/dtolnay/serde-untagged/compare/0.1.2...0.1.3)

-   Turn on `deny(unsafe_op_in_unsafe_fn)` lint

</details>

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

### [`v1.0.110`](https://togithub.com/serde-rs/json/compare/v1.0.109...v1.0.110)

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

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

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

-   Documentation improvements

</details>

<details>
<summary>mitsuhiko/similar (similar)</summary>

### [`v2.4.0`](https://togithub.com/mitsuhiko/similar/blob/HEAD/CHANGELOG.md#240)

[Compare Source](https://togithub.com/mitsuhiko/similar/compare/2.3.0...2.4.0)

-   Fixed a bug where the LCS diff algorithm didn't always call `D::finish`.  ([#&#8203;58](https://togithub.com/mitsuhiko/similar/issues/58))
-   Fixed a bug in LCS that caused a panic if the common prefix and the
    common suffix overlapped.  ([#&#8203;59](https://togithub.com/mitsuhiko/similar/issues/59))

</details>

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

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

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.45...2.0.46)

-   Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache

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

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.44...2.0.45)

-   Parse unsupported expressions in enum discriminants of `DeriveInput` as `Expr::Verbatim` in non-"full" mode, instead of error ([#&#8203;1513](https://togithub.com/dtolnay/syn/issues/1513))
-   Support parsing `PatType` with `parse_quote!` ([#&#8203;1573](https://togithub.com/dtolnay/syn/issues/1573))

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

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.43...2.0.44)

-   Documentation improvements

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

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.42...2.0.43)

-   Insert trailing comma if not already present when printing a 1-tuple in pattern position ([#&#8203;1553](https://togithub.com/dtolnay/syn/issues/1553))

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

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.41...2.0.42)

-   Documentation improvements

</details>

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

### [`v3.9.0`](https://togithub.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#390)

[Compare Source](https://togithub.com/Stebalien/tempfile/compare/v3.8.1...v3.9.0)

-   Updates windows-sys to 0.52
-   Updates minimum rustix version to 0.38.25

</details>

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

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

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.55...1.0.56)

-   Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache

### [`v1.0.55`](https://togithub.com/dtolnay/thiserror/compare/1.0.54...1.0.55)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.54...1.0.55)

### [`v1.0.54`](https://togithub.com/dtolnay/thiserror/compare/1.0.53...1.0.54)

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.53...1.0.54)

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

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.52...1.0.53)

-   Reduce spurious rebuilds under RustRover IDE when using a nightly toolchain ([#&#8203;270](https://togithub.com/dtolnay/thiserror/issues/270))

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

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.51...1.0.52)

-   Fix interaction with RUSTC_BOOTSTRAP ([#&#8203;269](https://togithub.com/dtolnay/thiserror/issues/269))

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

[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.50...1.0.51)

-   Improve diagnostics when an invalid attribute previously caused thiserror to generate no `Error` impl ([#&#8203;266](https://togithub.com/dtolnay/thiserror/issues/266))

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-01-02 16:39:51 +00:00
bors b4b03a9ebc Auto merge of #13237 - ehuss:hackmd-team-links, r=weihanglo
Contrib: Fix team HackMD links

This adjusts the links in the contrib guide to HackMD to use links which are publicly visible. I did not intend to use the other links which AFAIK are private to team members.
2024-01-02 16:11:32 +00:00
Eric Huss f3a4804e94 Contrib: Fix team HackMD links 2024-01-02 08:03:06 -08:00