Commit graph

654 commits

Author SHA1 Message Date
Weihang Lo 6072a0897a
chore(bump-check): include rustfix and cargo-util-schemas 2024-02-08 10:45:08 -05:00
Ed Page c89ac1f234 feat(update): Summarize unchanged packages with updates
`--verbose` will show them.

This is prep for telling the user about `--breaking` and other flags.
2024-01-30 20:16:32 -06:00
Ed Page db54c040ae fix(new): Print a 'Creating', rather than 'Created' status
This has bothered me about `cargo new` and `cargo init` for a while that
the output is read backwards, for example:
```diff
--- i/tests/testsuite/cargo_init/path_contains_separator/stderr.log
+++ w/tests/testsuite/cargo_init/path_contains_separator/stderr.log
@@ -1,3 +1,3 @@
+    Creating binary (application) package
 warning: the path `[ROOT]/case/test:ing/.` contains invalid PATH characters (usually `:`, `;`, or `"`)
 It is recommended to use a different name to avoid problems.
-     Created binary (application) package
```
2024-01-29 15:29:10 -06:00
Lin Yihai 41f7dc2b35 doc: Replace version with latest for jobserver link 2024-01-29 15:22:57 +08:00
Ed Page 675224b3a0 test(config): Shift to config.toml 2024-01-26 13:40:46 -06:00
Eric Huss 3c414b5cf1 Fix static_mut_ref warning. 2024-01-19 15:12:37 -08:00
Ed Page c6c1df4758 chore: Make N-2 the default MSRV
We likely don't want to release these packages every 6 months just for
an MSRV bump.
By moving the MSRV out of the package, `cargo bump-check` will ignore
the MSRV bump.

Inspired by #13266
2024-01-18 15:30:41 -06:00
Ed Page b291f42dce chore: Make N-0 MSRVs explicit
This will require a version bump every release but over-releasing these
packages is likely a lot better than over-releasing the N-3 packages,
which we won't have to do anymore after this.

My hope is the `auto` value will be approved and stabilized and then we
won't have to over-release anymore.
2024-01-18 15:28:04 -06:00
Ed Page 9438f80042 chore: Remove rust-version from private packages
I removed it from `cargo-test-support` and `cargo-test-macro`, despite
people depending on those (via git) because my long term plan is resting
on the `auto` value which won't affect git dependencies.
2024-01-18 15:24:25 -06:00
bors 187d4cf35e Auto merge of #13273 - BD103:master, r=weihanglo
Document why `du` function uses mutex

### What does this PR try to resolve?

After closing #13253, it [was suggested](https://github.com/rust-lang/cargo/pull/13253#issuecomment-1883286035) to document why the `du` function uses a `Mutex` instead of an `AtomicU64`. This will prevent others from making the same mistake I did. :)

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

N/A

### Additional information

N/A
2024-01-10 14:19:06 +00:00
BD103 c832cdf068
bump: cargo-util to 0.2.10 2024-01-10 08:01:47 -05:00
BD103 529130fe54
fix: missing word in comment
Co-authored-by: Weihang Lo <weihanglo@users.noreply.github.com>
2024-01-09 12:50:49 -05:00
Tobias Bieniek 6218d08504
crates-io: Bump version to v0.40.0 2024-01-09 18:03:21 +01:00
BD103 4da5444bb7
chore: document why du function uses mutex 2024-01-09 12:01:03 -05:00
Tobias Bieniek 2d1728088f
crates-io: Set Content-Type: application/json only for requests with a body payload 2024-01-09 17:57:56 +01: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
renovate[bot] 03beda3a6e chore(deps): update msrv 2024-01-08 22:17:07 +00: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 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
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
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 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
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
Lin Yihai 35d5fae5b6 test: support publish package with a public field. 2024-01-03 04:08:59 +08:00
renovate[bot] 4deb34bd0b
chore(deps): update compatible 2024-01-02 10:21:24 +00:00
bors 61f07b2494 Auto merge of #13228 - rust-lang:renovate/alpine-3.x, r=epage
chore(deps): update alpine docker tag to v3.19

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

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| alpine | final | minor | `3.18` -> `3.19` |

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-01-02 02:47:02 +00:00
renovate[bot] 647dc34c27
chore(deps): update alpine docker tag to v3.19 2024-01-01 01:19:21 +00:00
Eric Huss 3d3e1b3668 Handle Windows newlines.
Suggestions that come from rustc that are multi-line only use LF line
endings. But if the file is checked out on windows with CRLF
line-endings, then you end up with a mix of line endings that don't
match the "fixed.rs" file.

Tracking this at https://github.com/rust-lang/rust/issues/119482.
2023-12-31 16:20:41 -08:00
Eric Huss a21997f0cc rustfix: Support inserting new lines.
If rustfix received a suggestion which inserts new lines without
replacing existing lines, it would ignore the suggestion. This is
because `parse_snippet` would immediately return if the `lines` to
replace was empty.

The solution here is to just drop the code which messes with the
original text line. `cargo fix` (and compiletest) currently do not use
this. This was originally added back in the days when rustfix supported
an interactive UI which showed color highlighting of what it looks like
with the replacement. My feeling is that when we add something like this
back in, I would prefer to instead use a real diff library and display
instead of trying to do various text manipulation for display. This
particular code has generally been buggy, and has been a problem several
times.

The included test fails without this fix because the changes do not
apply, and the code cannot compile.
2023-12-31 10:18:22 -08:00
Eric Huss 029fe2bafc Add a primitive way to add new tests to parse_and_replace.
This adds an environment variable to make it easier to add new tests.
2023-12-31 09:58:37 -08:00
Eric Huss c54fa88ea4 Cleanup rustfix parse_and_replace test.
This is just some minor code cleanup for the parse_and_replace test,
there should not be any functional differences.
2023-12-31 09:56:20 -08:00
hi-rustin ad18dd017b refactor: give some better examples for package ID spec
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-12-25 10:08:27 +08:00
bors a9c749c33e Auto merge of #13186 - weihanglo:cargo-util-schemas-error-types, r=epage
refactor: custom error types for `cargo-util-schemas`
2023-12-20 15:52:40 +00:00
Weihang Lo 0b0e78fa3f
chore: bump cargo-util-schemas to 0.2.0 2023-12-20 10:38:03 -05:00
Weihang Lo f9e726b056
refactor(util-schemas): make error enum private 2023-12-20 10:38:03 -05:00
Weihang Lo a0201cd465
refactor(util-schemas): make fn in restricted_names crate private
pub
2023-12-20 10:38:02 -05:00
Weihang Lo d1e1c3d0aa
refactor(util-schemas): remove unused arg 2023-12-20 10:38:02 -05:00
Weihang Lo f1216495bb
refactor(util-schemas): remove anyhow 2023-12-20 10:38:02 -05:00
Weihang Lo 1e577614c5
refactor(util-schemas): error type for PackageIdSpec 2023-12-20 10:38:02 -05:00
Weihang Lo a3267bfa29
refactor(util-schemas): error type for restricted_names 2023-12-20 10:38:02 -05:00
bors c21be2b7cf Auto merge of #13168 - leonzchang:handlebars-v4, r=epage
chore(deps): update rust crate handlebars to `v4.5.0`

In the latest version of `handlebars`, rules for whitespace auto elimination is to check if the directive `{{# xxx}}`` and ``{{/ xxx}}` is holding a whole line, with leading and trailing whitespaces counted, and then remove the trailing NEWLINE (See [`template.rs`](9d7d555628/src/template.rs (L568-L889))).

```md
{{#options}}
                              <--- this newline will be removed after a standalone block
{{#option "`-o` _outdir_"}}
                              <--- this newline will be removed
Some content

{{/option}}
                              <--- this newline will be removed
{{/options}}
                              <--- this newline will be removed
```

This PR changes includes (fixes #13162):
1. update `handlebars` crate to `v4.5.0`.
2. add extra NEWLINE to helper blocks `options`, `option` to align with the new strip rules, preserving the original behavior.
3. update doc(the rest handlebars expression) to align with the new strip rules..
2023-12-20 14:52:29 +00:00
leonzchang b96b244c28
update handlebars & fix tests & update doc 2023-12-20 11:12:49 +08:00
Weihang Lo 90017c0747
refactor(util-schemas): error type for RustVerion 2023-12-19 18:28:01 -05:00
Weihang Lo d7b811b686
refactor(util-schemas): error type for PartialVersion 2023-12-19 18:28:01 -05:00
Weihang Lo da6cf9cde2
refactor(util-schemas): add thiserror 2023-12-19 03:34:35 -05:00
bors 69255bb10d Auto merge of #13184 - weihanglo:ws-homepage, r=epage
refactor: clean up package metadata

Like #12352 but for `homepage` and `repository`.

Inspired by <https://github.com/rust-lang/cargo/pull/13178#discussion_r1429394873>.
2023-12-18 22:12:59 +00:00
Weihang Lo ad2c45bde9
refactor: clean up package metadata
Like PR 12352 but for homepage and repository

Versions for

* `cargo-credential-1password`
* `cargo-util-schemas`
* `home`

are bumped along with the change.
2023-12-18 16:09:03 -05:00
Weihang Lo 0ac9cdeeec
ci: check SemVer for cargo-util-schemas on CI 2023-12-18 15:56:13 -05:00