Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): Update Rust Stable to v1.82 #586

Merged
merged 1 commit into from
Oct 23, 2024
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 23, 2024

This PR contains the following updates:

Package Update Change
STABLE minor 1.76 -> 1.82

Release Notes

rust-lang/rust (STABLE)

v1.82

Compare Source

==========================

Language

Compiler

Libraries

Stabilized APIs

These APIs are now stable in const contexts:

Cargo

Compatibility Notes

  • We now disallow setting some built-in cfgs via the command-line with the newly added explicit_builtin_cfgs_in_flags lint in order to prevent incoherent state, eg. windows cfg active but target is Linux based. The appropriate rustc flag should be used instead.
  • The standard library has a new implementation of binary_search which is significantly improves performance (#​128254). However when a sorted slice has multiple values which compare equal, the new implementation may select a different value among the equal ones than the old implementation.
  • illumos/Solaris now sets MSG_NOSIGNAL when writing to sockets. This avoids killing the process with SIGPIPE when writing to a closed socket, which matches the existing behavior on other UNIX targets.
  • Removes a problematic hack that always passed the --whole-archive linker flag for tests, which may cause linker errors for code accidentally relying on it.
  • The WebAssembly target features multivalue and reference-types are now
    both enabled by default. These two features both have subtle changes implied
    for generated WebAssembly binaries. For the multivalue feature, WebAssembly
    target support has changed when upgrading to LLVM 19. Support for generating
    functions with multiple returns no longer works and
    -Ctarget-feature=+multivalue has a different meaning than it did in LLVM 18
    and prior. There is no longer any supported means to generate a module that has
    a function with multiple returns in WebAssembly from Rust source code. For the
    reference-types feature the encoding of immediates in the call_indirect, a
    commonly used instruction by the WebAssembly backend, has changed. Validators
    and parsers which don't understand the reference-types proposal will no
    longer accept modules produced by LLVM due to this change in encoding of
    immediates. Additionally these features being enabled are encoded in the
    target_features custom section and may affect downstream tooling such as
    wasm-opt consuming the module. Generating a WebAssembly module that disables
    default features requires -Zbuild-std support from Cargo and more information
    can be found at
    rust-lang/rust#128511.
  • Rust now raises unsafety errors for union patterns in parameter-position

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.

v1.81

Compare Source

==========================

Language

Compiler

Libraries

Stabilized APIs

These APIs are now stable in const contexts:

Cargo

Compatibility Notes

  • Usage of the wasm32-wasi target will now issue a compiler warning and request users switch to the wasm32-wasip1 target instead. Both targets are the same, wasm32-wasi is only being renamed, and this change to the WASI target is being done to enable removing wasm32-wasi in January 2025.

  • We have renamed std::panic::PanicInfo to std::panic::PanicHookInfo. The old name will continue to work as an alias, but will result in a deprecation warning starting in Rust 1.82.0.

    core::panic::PanicInfo will remain unchanged, however, as this is now a different type.

    The reason is that these types have different roles: std::panic::PanicHookInfo is the argument to the panic hook in std context (where panics can have an arbitrary payload), while core::panic::PanicInfo is the argument to the #[panic_handler] in no_std context (where panics always carry a formatted message). Separating these types allows us to add more useful methods to these types, such as std::panic::PanicHookInfo::payload_as_str() and core::panic::PanicInfo::message().

  • The new sort implementations may panic if a type's implementation of Ord (or the given comparison function) does not implement a total order as the trait requires. Ord's supertraits (PartialOrd, Eq, and PartialEq) must also be consistent. The previous implementations would not "notice" any problem, but the new implementations have a good chance of detecting inconsistencies, throwing a panic rather than returning knowingly unsorted data.

  • In very rare cases, a change in the internal evaluation order of the trait
    solver may result in new fatal overflow errors.

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.

v1.80

Compare Source

===========================

v1.79

Compare Source

==========================

Language

Compiler

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

Libraries

Stabilized APIs

These APIs are now stable in const contexts:

Cargo

Rustdoc

Misc

Compatibility Notes

v1.78

Compare Source

==========================

Language

Compiler

Target changes:

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

Libraries

Stabilized APIs

These APIs are now stable in const contexts:

Cargo

Misc

Compatibility Notes

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.

v1.77

Compare Source

===========================


Configuration

📅 Schedule: Branch creation - "* * * * *" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot enabled auto-merge (squash) October 23, 2024 10:35
@renovate renovate bot merged commit 8ec4b69 into main Oct 23, 2024
15 checks passed
@renovate renovate bot deleted the renovate/stable-1.x branch October 23, 2024 10:39
@coveralls
Copy link

Pull Request Test Coverage Report for Build 11478125391

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 62.943%

Totals Coverage Status
Change from base Build 11478119885: 0.0%
Covered Lines: 941
Relevant Lines: 1495

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant