Go to file
William Brown 1c1bc567f8 Version 1.82.0 (2024-10-17)
==========================
Language
--------
- [Don't make statement nonterminals match pattern nonterminals](https://github.com/rust-lang/rust/pull/120221/)
- [Patterns matching empty types can now be omitted in common cases](https://github.com/rust-lang/rust/pull/122792)
- [Enforce supertrait outlives obligations when using trait impls](https://github.com/rust-lang/rust/pull/124336)
- [`addr_of(_mut)!` macros and the newly stabilized `&raw (const|mut)` are now safe to use with all static items](https://github.com/rust-lang/rust/pull/125834)
- [size_of_val_raw: for length 0 this is safe to call](https://github.com/rust-lang/rust/pull/126152/)
- [Reorder trait bound modifiers *after* `for<...>` binder in trait bounds](https://github.com/rust-lang/rust/pull/127054/)
- [Stabilize opaque type precise capturing (RFC 3617)](https://github.com/rust-lang/rust/pull/127672)
- [Stabilize `&raw const` and `&raw mut` operators (RFC 2582)](https://github.com/rust-lang/rust/pull/127679)
- [Stabilize unsafe extern blocks (RFC 3484)](https://github.com/rust-lang/rust/pull/127921)
- [Stabilize nested field access in `offset_of!`](https://github.com/rust-lang/rust/pull/128284)
- [Do not require `T` to be live when dropping `[T; 0]`](https://github.com/rust-lang/rust/pull/128438)
- [Stabilize `const` operands in inline assembly](https://github.com/rust-lang/rust/pull/128570)
- [Stabilize floating-point arithmetic in `const fn`](https://github.com/rust-lang/rust/pull/128596)
- [Stabilize explicit opt-in to unsafe attributes](https://github.com/rust-lang/rust/pull/128771)
- [Document NaN bit patterns guarantees](https://github.com/rust-lang/rust/pull/129559)
Compiler
--------
- [Promote riscv64gc-unknown-linux-musl to tier 2](https://github.com/rust-lang/rust/pull/122049)
- [Promote Mac Catalyst targets `aarch64-apple-ios-macabi` and `x86_64-apple-ios-macabi` to Tier 2, and ship them with rustup](https://github.com/rust-lang/rust/pull/126450)
- [Add tier 3 NuttX based targets for RISC-V and ARM](https://github.com/rust-lang/rust/pull/127755)
- [Add tier 3 powerpc-unknown-linux-muslspe target](https://github.com/rust-lang/rust/pull/127905)
- [Improved diagnostics to explain why a pattern is unreachable](https://github.com/rust-lang/rust/pull/128034)
- [The compiler now triggers the unreachable code warning properly for async functions that don't return/are `-> !`](https://github.com/rust-lang/rust/pull/128443)
- [Promote `aarch64-apple-darwin` to Tier 1](https://github.com/rust-lang/rust/pull/128592)
- [Add Trusty OS target `aarch64-unknown-trusty` and `armv7-unknown-trusty` as tier 3 targets](https://github.com/rust-lang/rust/pull/129490)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust1.82?expand=0&rev=2
2024-10-22 03:03:46 +00:00
_constraints Submit new package rust1.82 2024-10-21 01:08:24 +00:00
_multibuild Submit new package rust1.82 2024-10-21 01:08:24 +00:00
_service Submit new package rust1.82 2024-10-21 01:08:24 +00:00
.gitattributes Submit new package rust1.82 2024-10-21 01:08:24 +00:00
.gitignore Submit new package rust1.82 2024-10-21 01:08:24 +00:00
ignore-Wstring-conversion.patch Submit new package rust1.82 2024-10-21 01:08:24 +00:00
README.suse-maint Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust1.82-rpmlintrc Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust1.82.changes Version 1.82.0 (2024-10-17) 2024-10-22 03:03:46 +00:00
rust1.82.spec Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-aarch64-unknown-linux-gnu.tar.xz.asc Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-arm-unknown-linux-gnueabihf.tar.xz Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-arm-unknown-linux-gnueabihf.tar.xz.asc Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.xz Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-armv7-unknown-linux-gnueabihf.tar.xz.asc Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-i686-unknown-linux-gnu.tar.xz Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-i686-unknown-linux-gnu.tar.xz.asc Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-powerpc64-unknown-linux-gnu.tar.xz.asc Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-powerpc64le-unknown-linux-gnu.tar.xz.asc Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-powerpc-unknown-linux-gnu.tar.xz.asc Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-riscv64gc-unknown-linux-gnu.tar.xz.asc Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-s390x-unknown-linux-gnu.tar.xz Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-s390x-unknown-linux-gnu.tar.xz.asc Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust-1.82.0-x86_64-unknown-linux-gnu.tar.xz.asc Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rust.keyring Submit new package rust1.82 2024-10-21 01:08:24 +00:00
rustc-1.82.0-src.tar.xz Submit new package rust1.82 2024-10-21 01:08:24 +00:00

# Automatic updating via _service

Edit the rustX.YY.spec file, and update the variables related with the
version:

- *version_suffix*: for the new version of Rust, in X.YY format
- *version_current*: for the new version of Rust, in X.YY.Z format
- *version_previous*: for the previous version of Rust, in X.YY.X
   format

Generate the spec files for the different bootstrap compilers.  This
will take the version from the main spec file.

  ./update-bootstrap.sh

After that, we can execute the service file:

  osc service disabledrun

This will download the new bootstrap compilers and the signature file.

If `osc` complains about a missing service component, double check
that the components are installed. For example, for Tumbleweed:

  zypper in obs-service-download_files obs-service-refresh_patches

Finally, update the changelog based on the releases notes:

  https://github.com/rust-lang/rust/blob/master/RELEASES.md

# Updating to a new version from upstream

(Original link: https://en.opensuse.org/Rust)

Branch the rust package in the devel:languages:rust project.

You'll need to download precompiled binaries for the compiler used for
bootstrapping, and the actual source code for the compiler. In the
"Other Installation Methods" page listed below, note that it shows
links to .tar.gz packages and their .tar.gz.asc GPG signatures, but
.tar.xz versions are also available.

*Binaries for bootstrapping* - Go to the "Other Installation Methods"
page from rust-lang.org and scroll down to the "Standalone installers"
section. Download the following:

- rust-<version>-aarch64-unknown-linux-gnu.tar.xz
- rust-<version>-armv7-unknown-linux-gnueabihf.tar.xz
- rust-<version>-i686-unknown-linux-gnu.tar.xz
- rust-<version>-powerpc64le-unknown-linux-gnu.tar.xz
- rust-<version>-powerpc64-unknown-linux-gnu.tar.xz
- rust-<version>-s390x-unknown-linux-gnu.tar.xz
- rust-<version>-x86_64-unknown-linux-gnu.tar.xz

*Compiler source code* - From the same page, but now in the "Source
code" section, download this:

  rustc-<version>-src.tar.xz

Update those files in the source RPM. Check that all the patches still
apply.

Update the version number in rust.spec.

Add the release notes to rust.changes.

# Running the tests locally

The tests are executed outside the main package using the _multibuild
feature of OBS.  This is convenient for several reasons:

* We force the installation of the new rustc / cargo in the system

* All the test / bootstrabs and utilities are compiled using the new
  compiler, and not the one used to generate the initial Rust
  compiler.

* A test fail do not block the release.  Upstream tests can be
  affected by some environment application, and there is some delay
  for the fix.

The tests can be run with:

  osc build -M test

This will install the Rust compiler from OBS, so is a good idea that
we have them available.

If some test fail, we can enter the chroot to debug it:

  osc shell

There is more information about the test infrastructure here:

  https://rustc-dev-guide.rust-lang.org/tests/intro.html