Commit graph

716 commits

Author SHA1 Message Date
Ed Page 2e878a4c38 test: Remove empty snapshots for help 2024-02-20 13:05:16 -06:00
Scott Schafer 305efa63cc
chore: Rename Config to GlobalContext 2024-02-20 11:55:15 -07:00
Eric Huss daa884169c Fix redundant imports. 2024-02-20 09:57:03 -08:00
bors e7ff7a6618 Auto merge of #12861 - weihanglo:msrv-aware-lockfile, r=ehuss
feat: respect `rust-version` when generating lockfile
2024-02-19 19:05:03 +00:00
Ed Page 9f31f8c675 chore: Update snapbox 2024-02-16 10:27:48 -06:00
Weihang Lo cd7cca369e
refactor: don't derive Default for ResolveVersion
This prevents a misuse of it.
2024-02-16 10:06:32 -05:00
Weihang Lo fb95ac4887
feat: respect rust-version when generating lockfile
Respect `package.rust-version` when generating lockfile, so that
a package with an old MSRV will never get an incompatible lockfile,
even when using the latest Cargo.

Users are still able to edit the `version` field in the lockfile
manually, if they intend to switch to a specific lockfile version.
2024-02-16 10:06:00 -05:00
Weihang Lo 7b0919399d
feat(cargo-util-schemas): TryFrom<PartialVersion> for RustVersion 2024-02-16 10:05:59 -05:00
bors af08da6834 Auto merge of #13424 - weihanglo:fix-13016, r=epage
fix(test-support): remove special case for `$message_type`
2024-02-09 03:21:05 +00:00
Weihang Lo c426fbe68d
fix(test-support): remove special case for $message_type 2024-02-08 22:05:03 -05:00
bors 99176cad92 Auto merge of #13420 - rust-lang:renovate/msrv, r=epage
chore(deps): update msrv (1 version) to v1.76.0

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

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [MSRV:1](https://togithub.com/rust-lang/rust) | minor | `1.75.0` -> `1.76.0` |

---

### Release Notes

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

### [`v1.76.0`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1760-2024-02-08)

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

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

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

## Language

-   [Document Rust ABI compatibility between various types](https://togithub.com/rust-lang/rust/pull/115476/)
-   [Also: guarantee that char and u32 are ABI-compatible](https://togithub.com/rust-lang/rust/pull/118032/)
-   [Warn against ambiguous wide pointer comparisons](https://togithub.com/rust-lang/rust/pull/117758/)

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

## Compiler

-   [Lint pinned `#[must_use]` pointers (in particular, `Box<T>` where `T` is `#[must_use]`) in `unused_must_use`.](https://togithub.com/rust-lang/rust/pull/118054/)
-   [Soundness fix: fix computing the offset of an unsized field in a packed struct](https://togithub.com/rust-lang/rust/pull/118540/)
-   [Soundness fix: fix dynamic size/align computation logic for packed types with dyn Trait tail](https://togithub.com/rust-lang/rust/pull/118538/)
-   [Add `$message_type` field to distinguish json diagnostic outputs](https://togithub.com/rust-lang/rust/pull/115691/)
-   [Enable Rust to use the EHCont security feature of Windows](https://togithub.com/rust-lang/rust/pull/118013/)
-   [Add tier 3 {x86\_64,i686}-win7-windows-msvc targets](https://togithub.com/rust-lang/rust/pull/118150/)
-   [Add tier 3 aarch64-apple-watchos target](https://togithub.com/rust-lang/rust/pull/119074/)
-   [Add tier 3 arm64e-apple-ios & arm64e-apple-darwin targets](https://togithub.com/rust-lang/rust/pull/115526/)

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

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

## Libraries

-   [Add a column number to `dbg!()`](https://togithub.com/rust-lang/rust/pull/114962/)
-   [Add `std:#️⃣:{DefaultHasher, RandomState}` exports](https://togithub.com/rust-lang/rust/pull/115694/)
-   [Fix rounding issue with exponents in fmt](https://togithub.com/rust-lang/rust/pull/116301/)
-   [Add T: ?Sized to `RwLockReadGuard` and `RwLockWriteGuard`'s Debug impls.](https://togithub.com/rust-lang/rust/pull/117138/)
-   [Windows: Allow `File::create` to work on hidden files](https://togithub.com/rust-lang/rust/pull/116438/)

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

## Stabilized APIs

-   [`Arc::unwrap_or_clone`](https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.unwrap_or_clone)
-   [`Rc::unwrap_or_clone`](https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.unwrap_or_clone)
-   [`Result::inspect`](https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.inspect)
-   [`Result::inspect_err`](https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.inspect_err)
-   [`Option::inspect`](https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.inspect)
-   [`type_name_of_val`](https://doc.rust-lang.org/stable/std/any/fn.type_name_of_val.html)
-   [`std:#️⃣:{DefaultHasher, RandomState}`](https://doc.rust-lang.org/stable/std/hash/index.html#structs)
    These were previously available only through `std::collections::hash_map`.
-   [`ptr::{from_ref, from_mut}`](https://doc.rust-lang.org/stable/std/ptr/fn.from_ref.html)
-   [`ptr::addr_eq`](https://doc.rust-lang.org/stable/std/ptr/fn.addr_eq.html)

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

## Cargo

See [Cargo release notes](https://togithub.com/rust-lang/cargo/blob/master/CHANGELOG.md#cargo-176-2024-02-08).

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

## Rustdoc

-   [Don't merge cfg and doc(cfg) attributes for re-exports](https://togithub.com/rust-lang/rust/pull/113091/)
-   [rustdoc: allow resizing the sidebar / hiding the top bar](https://togithub.com/rust-lang/rust/pull/115660/)
-   [rustdoc-search: add support for traits and associated types](https://togithub.com/rust-lang/rust/pull/116085/)
-   [rustdoc: Add highlighting for comments in items declaration](https://togithub.com/rust-lang/rust/pull/117869/)

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

## Compatibility Notes

-   [Add allow-by-default lint for unit bindings](https://togithub.com/rust-lang/rust/pull/112380/)
    This is expected to be upgraded to a warning by default in a future Rust
    release. Some macros emit bindings with type `()` with user-provided spans,
    which means that this lint will warn for user code.
-   [Remove x86\_64-sun-solaris target.](https://togithub.com/rust-lang/rust/pull/118091/)
-   [Remove asmjs-unknown-emscripten target](https://togithub.com/rust-lang/rust/pull/117338/)
-   [Report errors in jobserver inherited through environment variables](https://togithub.com/rust-lang/rust/pull/113730/)
    This [may warn](https://togithub.com/rust-lang/rust/issues/120515) on benign problems too.
-   [Update the minimum external LLVM to 16.](https://togithub.com/rust-lang/rust/pull/117947/)
-   [Improve `print_tts`](https://togithub.com/rust-lang/rust/pull/114571/)
    This change can break some naive manual parsing of token trees in proc macro
    code which expect a particular structure after `.to_string()`, rather than just arbitrary Rust code.
-   [Make `IMPLIED_BOUNDS_ENTAILMENT` into a hard error from a lint](https://togithub.com/rust-lang/rust/pull/117984/)
-   [Vec's allocation behavior was changed when collecting some iterators](https://togithub.com/rust-lang/rust/pull/110353)
    Allocation behavior is currently not specified, nevertheless changes can be surprising.
    See [`impl FromIterator for Vec`](https://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#impl-FromIterator%3CT%3E-for-Vec%3CT%3E)
    for more details.
-   [Properly reject `default` on free const items](https://togithub.com/rust-lang/rust/pull/117818/)

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-02-08 17:02:30 +00:00
Weihang Lo 6072a0897a
chore(bump-check): include rustfix and cargo-util-schemas 2024-02-08 10:45:08 -05:00
renovate[bot] 5ea658df78 chore(deps): update msrv (1 version) to v1.76.0 2024-02-08 14:32:51 +00: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
Ed Page 633929d3aa refactor(schemas): Pull out cargo-util-schemas crate
Fixes #12801
2023-12-15 13:22:25 -06:00
bors 9c1316ff3f Auto merge of #13181 - hi-rustin:rustin-patch-rename-files, r=weihanglo
chore(rustfix): rename Readme.md to README.md
2023-12-18 15:04:01 +00:00
hi-rustin 0b6c229e9d chore(rustfix): remove useless clippy rules
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-12-18 20:17:05 +08:00
hi-rustin b8e2f75881 chore(rustfix): fix a typo
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-12-18 20:10:28 +08:00
hi-rustin efdaf4bbc6 chore(rustfix): rename Changelog.md to CHANGELOG.md
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-12-18 20:05:52 +08:00
hi-rustin 88993a3bbe chore(rustfix): rename Readme.md to README.md
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-12-18 20:04:50 +08:00
Ed Page c7bcc6c199
docs(home): Set release date 2023-12-15 12:32:15 -06:00
Guillaume Dallenne 7ce9c26f39
docs(home): prepare the changelog for 0.5.9 2023-12-15 19:04:51 +01:00
Chris Denton 6e11c77384
Replace SHGetFolderPathW with SHGetKnownFolderPath 2023-12-15 03:36:39 +00:00
Weihang Lo 516313379e
chore(bump-check): dont check home against beta/stable branches
The publish of home is not tied with Rust release process, hence.
2023-12-13 18:21:55 -05:00
bors 1aa9df1a5b Auto merge of #13158 - Turbo87:crates-io-status-codes, r=epage
crates-io: Add support for other 2xx HTTP status codes

Replying with `201 Created` of `202 Accepted` should not result in showing errors.

Related:

- https://github.com/rust-lang/cargo/issues/3995
- https://github.com/rust-lang/cargo/pull/6771
2023-12-12 14:52:31 +00:00
Tobias Bieniek 32d4c0fd80
crates-io: Add support for other 2xx HTTP status codes
Replying with `201 Created` of `202 Accepted` should not result in showing errors.
2023-12-12 13:33:03 +01:00
Ed Page 808e2a174f refactor(schema): Adopt RustVersion 2023-12-11 13:44:14 -06:00
bors 749654c5fd Auto merge of #13132 - arlosi:cachedir, r=epage
Avoid writing CACHEDIR.TAG if it already exists

Cargo currently unconditionally writes `CACHEDIR.TAG` files even if they already exist.

This practice causes problems for build systems that disallow multiple writes to the same file.
2023-12-07 22:37:55 +00:00
Arlo Siemsen 04af5e7a06 Avoid writing CACHEDIR.TAG if it already exists 2023-12-07 14:51:01 -06:00
Ed Page 96f8517a28 test(mdman): Switch to snapbox
- We use it elsewhere
- We don't have to bake our own snapshotting solution
- It is more obvious how to update the snapshots
2023-12-01 15:31:27 -06:00
renovate[bot] ab6adab01b
chore(deps): update compatible 2023-12-01 17:33:18 +00:00
Ed Page 378502bf20 refactor: Try to make PackageId conversion clearer 2023-12-01 10:48:14 -06:00
bors c192d989b3 Auto merge of #13091 - weihanglo:trim-paths-lldb, r=epage
test(trim-paths): exercise with real world debugger
2023-12-01 15:47:10 +00:00
Weihang Lo 5c32fe0432
test(trim-paths): exercise with real world debugger 2023-12-01 08:48:24 -05:00
Eric Huss 1aa769240d Add more options to registry test support. 2023-11-30 16:39:08 -08:00
Ed Page a43e09073c test(resolver): Don't bother generating public cases 2023-11-29 13:11:39 -06:00
Ed Page e6da166c8b test(resolver-tests): Remove public dep support from SAT resolver 2023-11-29 12:17:26 -06:00
Ed Page 71172d52b5 fix(resolver): Remove unused public-deps error handling
To implement rust-lang/rfcs#3516, we need to decouple the resolver's
behavior from the unstable flag.  Since the code path is now dead, I
went ahead and removed it.
2023-11-22 15:20:10 -06:00
Weihang Lo 21274da65b
chore: bump rustfix to 0.7.0 2023-11-27 10:50:10 -05:00
Weihang Lo ed347ce4dc
refactor: use custom error instead of anyhow 2023-11-27 10:50:10 -05:00
bors 3920bd5ea5 Auto merge of #13047 - tompscanlan:rustfix-ignored-tests, r=weihanglo
review and remove ignored tests in rustfix

### What does this PR try to resolve?
review ignored tests in rustfix crate per #13034.

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

### Additional information

* Removed unproductive test in `parse_and_replace`
* un-ignore proptests, and reduce runtime from ~2s to ~<.25s
2023-11-26 17:14:11 +00:00
Tom Scanlan b179cd175a
review and remove ignored tests in rustfix
* reduce time in proptest
* delete edition dir
* remove refs to fixmode::EDITION
2023-11-26 09:29:18 -05:00
bors 35ed69cb1b Auto merge of #13048 - weihanglo:rustfix-doc, r=epage
docs: add doc comments for rustfix
2023-11-25 23:45:45 +00:00
Weihang Lo 358b7ae76d
docs(rustfix): add more doc comments 2023-11-25 17:48:21 -05:00
Weihang Lo 27b7c6c203
docs(rustfix): comments for diagnostic JSON output
Most doc comments are copied from rust-lang/rust repo.

The doc for each item is hand-written as there is no comment in the
original place.
2023-11-25 13:09:39 -05:00
Tom Scanlan e9e22e5c2f try running on windows 2023-11-23 18:34:56 -05:00
bors 65d0eb536d Auto merge of #12997 - hi-rustin:rustin-patch-cargo-test-support, r=epage
cargo-test-support: Add features to the default Cargo.toml file
2023-11-22 01:47:31 +00:00
bors eed300d5e8 Auto merge of #13005 - ehuss:rustfix, r=weihanglo
Migrate rustfix to the cargo repo

This migrates the `rustfix` crate from https://github.com/rust-lang/rustfix/ to the cargo repo. The cargo team has been responsible for the client-side of `cargo fix`, and it can make it easier to maintain with all our tooling and tracking here. This crate is used by some external parties (like the compiler), so it will need to be maintained like an "ecosystem" package, but hopefully there shouldn't be any outside requirements (I haven't seen any in several years).

After merging, I'll follow up with some things to address in the future, such as:
- Migrating issues from the other repo.
- Opening new issues for some cleanup tasks, such as adding documentation, fixing the `#[ignore]` annotations, fixing testing on windows, maybe migrating the test code to use different dependencies, various code cleanup.
- Archiving the repo.
2023-11-21 18:36:36 +00:00
Eric Huss 47c7ff0f96 Deduplicate the similar dependency. 2023-11-21 10:18:15 -08:00
Eric Huss 70f56e9004 Add a general introduction to the rustfix library docs. 2023-11-21 10:10:22 -08:00
Eric Huss 402d072d72 Ignore rustfix for semver-checks since it doesn't exist on the beta branch. 2023-11-21 10:02:14 -08:00
David Tolnay 65bb09d434
Handle $message_type in JSON diagnostics 2023-11-19 20:37:16 -08:00