Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rust-lang/cargo
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: a510712d05c6c98f987af24dd73cdfafee8922e6
Choose a base ref
...
head repository: rust-lang/cargo
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 499a61ce7a0fc6a72040084862a68b2603e770e8
Choose a head ref
  • 13 commits
  • 17 files changed
  • 7 contributors

Commits on Mar 24, 2024

  1. Configuration menu
    Copy the full SHA
    ab285e9 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Configuration menu
    Copy the full SHA
    0a400d5 View commit details
    Browse the repository at this point in the history
  2. Auto merge of #13635 - Muscraft:lint-names-snake-case, r=epage

    refactor: Make lint names snake_case
    
    When working on #13621, I somehow missed that lint names should be `snake_case` according to the [`rustc-dev-guide`](https://rustc-dev-guide.rust-lang.org/diagnostics.html#lint-naming) as well as [`RFC #344`](https://rust-lang.github.io/rfcs/0344-conventions-galore.html#lints).
    
    This PR renames:
    - `implicit-features` => `implicit_featires`
    - `rust-2024-compatibility` => `rust_2024_compatibility`.
    
    <hr>
    
    Note: We should probably have some tooling to enforce this, but I was unsure if it belonged to this PR or another one. One solution would be to use a macro to create the `const LINT_NAME: Lint = {...}`, where `LINT_NAME` would be the `ident` as well as the `name: &'static str` and then have a method on `Lint` to make it lowercase as needed. This is what `rustc` does, and it could work well here. It would ensure snake case as `const` names need to be [`SCREAMING_SNAKE_CASE`](https://rust-lang.github.io/rfcs/0430-finalizing-naming-conventions.html#general-naming-conventions), or a warning is shown.
    bors committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    bc844af View commit details
    Browse the repository at this point in the history
  3. chore(deps): update msrv

    renovate[bot] authored and epage committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    ccc31b4 View commit details
    Browse the repository at this point in the history
  4. chore: Bump versions

    epage committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    451babb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9e7d6e3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3adb796 View commit details
    Browse the repository at this point in the history
  7. Auto merge of #13640 - ehuss:fix-doc-dash-collision, r=epage

    Fix doc collision for lib/bin with a dash in the inferred name.
    
    This fixes an issue where `cargo doc` would report a collision if the project has a `-` in the name, and both a lib and bin. As a consequence of the change in #12783, the target name for the library no longer has a `-`. The code that checks for the lib/bin doc collision was only checking if the target names were equal, which is no longer the case after #12783. The solution here is to use the `crate_name` and not the target name, which has the appropriate `_` translation done. This is the more correct method to use, even before #12783, because rustdoc uses crate names, not target names (and thus even documenting bins have their filenames converted to underscores).
    
    Fixes #13628
    bors committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    c56140f View commit details
    Browse the repository at this point in the history
  8. Auto merge of #13577 - 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.76.0` -> `1.77` |  |
    | [MSRV:3](https://togithub.com/rust-lang/rust) | minor | `1.73` -> `1.75` | `1.77` (+1) |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>rust-lang/rust (MSRV:1)</summary>
    
    ### [`v1.77`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1770-2024-03-21)
    
    [Compare Source](https://togithub.com/rust-lang/rust/compare/1.76.0...1.77.0)
    
    \==========================
    
    <a id="1.77.0-Language"></a>
    
    ## Language
    
    -   [Reveal opaque types within the defining body for exhaustiveness checking.](https://togithub.com/rust-lang/rust/pull/116821/)
    -   [Stabilize C-string literals.](https://togithub.com/rust-lang/rust/pull/117472/)
    -   [Stabilize THIR unsafeck.](https://togithub.com/rust-lang/rust/pull/117673/)
    -   [Add lint `static_mut_refs` to warn on references to mutable statics.](https://togithub.com/rust-lang/rust/pull/117556/)
    -   [Support async recursive calls (as long as they have indirection).](https://togithub.com/rust-lang/rust/pull/117703/)
    -   [Undeprecate lint `unstable_features` and make use of it in the compiler.](https://togithub.com/rust-lang/rust/pull/118639/)
    -   [Make inductive cycles in coherence ambiguous always.](https://togithub.com/rust-lang/rust/pull/118649/)
    -   [Get rid of type-driven traversal in const-eval interning](https://togithub.com/rust-lang/rust/pull/119044/),
        only as a [future compatiblity lint](https://togithub.com/rust-lang/rust/pull/122204) for now.
    -   [Deny braced macro invocations in let-else.](https://togithub.com/rust-lang/rust/pull/119062/)
    
    <a id="1.77.0-Compiler"></a>
    
    ## Compiler
    
    -   [Include lint `soft_unstable` in future breakage reports.](https://togithub.com/rust-lang/rust/pull/116274/)
    -   [Make `i128` and `u128` 16-byte aligned on x86-based targets.](https://togithub.com/rust-lang/rust/pull/116672/)
    -   [Use `--verbose` in diagnostic output.](https://togithub.com/rust-lang/rust/pull/119129/)
    -   [Improve spacing between printed tokens.](https://togithub.com/rust-lang/rust/pull/120227/)
    -   [Merge the `unused_tuple_struct_fields` lint into `dead_code`.](https://togithub.com/rust-lang/rust/pull/118297/)
    -   [Error on incorrect implied bounds in well-formedness check](https://togithub.com/rust-lang/rust/pull/118553/),
        with a temporary exception for Bevy.
    -   [Fix coverage instrumentation/reports for non-ASCII source code.](https://togithub.com/rust-lang/rust/pull/119033/)
    -   [Fix `fn`/`const` items implied bounds and well-formedness check.](https://togithub.com/rust-lang/rust/pull/120019/)
    -   [Promote `riscv32{im|imafc}-unknown-none-elf` targets to tier 2.](https://togithub.com/rust-lang/rust/pull/118704/)
    -   Add several new tier 3 targets:
        -   [`aarch64-unknown-illumos`](https://togithub.com/rust-lang/rust/pull/112936/)
        -   [`hexagon-unknown-none-elf`](https://togithub.com/rust-lang/rust/pull/117601/)
        -   [`riscv32imafc-esp-espidf`](https://togithub.com/rust-lang/rust/pull/119738/)
        -   [`riscv32im-risc0-zkvm-elf`](https://togithub.com/rust-lang/rust/pull/117958/)
    
    Refer to Rust's \[platform support page]\[platform-support-doc]
    for more information on Rust's tiered platform support.
    
    <a id="1.77.0-Libraries"></a>
    
    ## Libraries
    
    -   [Implement `From<&[T; N]>` for `Cow<[T]>`.](https://togithub.com/rust-lang/rust/pull/113489/)
    -   [Remove special-case handling of `vec.split_off(0)`.](https://togithub.com/rust-lang/rust/pull/119917/)
    
    <a id="1.77.0-Stabilized-APIs"></a>
    
    ## Stabilized APIs
    
    -   [`array::each_ref`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_ref)
    -   [`array::each_mut`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_mut)
    -   [`core::net`](https://doc.rust-lang.org/stable/core/net/index.html)
    -   [`f32::round_ties_even`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.round_ties_even)
    -   [`f64::round_ties_even`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.round_ties_even)
    -   [`mem::offset_of!`](https://doc.rust-lang.org/stable/std/mem/macro.offset_of.html)
    -   [`slice::first_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first_chunk)
    -   [`slice::first_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.first_chunk_mut)
    -   [`slice::split_first_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first_chunk)
    -   [`slice::split_first_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_first_chunk_mut)
    -   [`slice::last_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last_chunk)
    -   [`slice::last_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last_chunk_mut)
    -   [`slice::split_last_chunk`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last_chunk)
    -   [`slice::split_last_chunk_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_last_chunk_mut)
    -   [`slice::chunk_by`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.chunk_by)
    -   [`slice::chunk_by_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.chunk_by_mut)
    -   [`Bound::map`](https://doc.rust-lang.org/stable/std/ops/enum.Bound.html#method.map)
    -   [`File::create_new`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.create_new)
    -   [`Mutex::clear_poison`](https://doc.rust-lang.org/stable/std/sync/struct.Mutex.html#method.clear_poison)
    -   [`RwLock::clear_poison`](https://doc.rust-lang.org/stable/std/sync/struct.RwLock.html#method.clear_poison)
    
    <a id="1.77.0-Cargo"></a>
    
    ## Cargo
    
    -   [Extend the build directive syntax with `cargo::`.](https://togithub.com/rust-lang/cargo/pull/12201/)
    -   [Stabilize metadata `id` format as `PackageIDSpec`.](https://togithub.com/rust-lang/cargo/pull/12914/)
    -   [Pull out `cargo-util-schemas` as a crate.](https://togithub.com/rust-lang/cargo/pull/13178/)
    -   [Strip all debuginfo when debuginfo is not requested.](https://togithub.com/rust-lang/cargo/pull/13257/)
    -   [Inherit jobserver from env for all kinds of runners.](https://togithub.com/rust-lang/cargo/pull/12776/)
    -   [Deprecate rustc plugin support in cargo.](https://togithub.com/rust-lang/cargo/pull/13248/)
    
    <a id="1.77.0-Rustdoc"></a>
    
    ## Rustdoc
    
    -   [Allows links in markdown headings.](https://togithub.com/rust-lang/rust/pull/117662/)
    -   [Search for tuples and unit by type with `()`.](https://togithub.com/rust-lang/rust/pull/118194/)
    -   [Clean up the source sidebar's hide button.](https://togithub.com/rust-lang/rust/pull/119066/)
    -   [Prevent JS injection from `localStorage`.](https://togithub.com/rust-lang/rust/pull/120250/)
    
    <a id="1.77.0-Misc"></a>
    
    ## Misc
    
    -   [Recommend version-sorting for all sorting in style guide.](https://togithub.com/rust-lang/rust/pull/115046/)
    
    <a id="1.77.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.
    
    -   [Add more weirdness to `weird-exprs.rs`.](https://togithub.com/rust-lang/rust/pull/119028/)
    
    </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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzguMSIsInVwZGF0ZWRJblZlciI6IjM3LjI2MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
    bors committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    1f6857d View commit details
    Browse the repository at this point in the history
  9. Fix tests

    Kobzol committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    53a0dc4 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2024

  1. Auto merge of #13630 - Kobzol:msvc-disable-release-strip, r=weihanglo

    Do not strip debuginfo by default for MSVC
    
    This PR disables the logic which enables debuginfo stripping by default in release mode (#13257) for MSVC, since it causes problems there (rust-lang/rust#122857).
    
    I'm not sure if this is the correct way to gate the logic on a specific target triple.
    
    The root of the issue is that `-Cstrip=debuginfo` currently behaves like `-Cstrip=symbols` on MSVC, which causes the original optimization to break backtraces on Windows. Ultimately, this should probably be fixed in `rustc`, but that might take some further design work, therefore a faster solution would be to just special case this in Cargo for now, and remove the special case later, once it gets fixed on the `rustc` side.
    
    Related issue: rust-lang/rust#122857
    bors committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    fa619a9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    667803c View commit details
    Browse the repository at this point in the history
  3. Auto merge of #13647 - weihanglo:shell, r=Muscraft

    fix: do not borrow shell across registry query
    bors committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    499a61c View commit details
    Browse the repository at this point in the history
Loading