Neal Gompa
17041caeb7
Final SR - promised :) - <https://github.com/rust-lang/rust/issues/74976>: Add "--stage 1" to the "./x.py doc" call to ensure the newly built compiler gets used. ------------------------------------------------------------------- Sat Jan 9 09:25:07 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net> - Leap 15.3 does not provide a suitable llvm-devel package, hence explicitly require llvm9-devel. Details can be seen in the following e-mail thread <https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/ZQWAMG2VYBSI2BFM7G3H5YG26ALXWAOA/> ------------------------------------------------------------------- Sun Jan 3 11:27:23 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net> - LLVM >= 9.0 is needed nowadays. - Disable usage of "ninja" for all distributions older than Leap 15.2 ------------------------------------------------------------------- Sat Jan 2 16:50:47 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net> - Update to version 1.48.0 + Language - The `unsafe` keyword is now syntactically permitted on modules. This is still rejected semantically, but can now be parsed by procedural macros. + Compiler - Stabilised the `-C link-self-contained=<yes|no>` compiler flag. This tells `rustc` whether to link its own C runtime and libraries or to rely on a external linker to find them. (Supported only on `windows-gnu`, `linux-musl`, and `wasi` platforms.) - You can now use `-C target-feature=+crt-static` on `linux-gnu` targets. Note: If you're using cargo you must explicitly pass the `--target` flag. - Added tier 2* support for aarch64-unknown-linux-musl. * Refer to Rust's platform support page for more information on Rust's tiered platform support. + Libraries - io::Write is now implemented for &ChildStdin &Sink, &Stdout, and &Stderr. - All arrays of any length now implement TryFrom<Vec<T>>. - The matches! macro now supports having a trailing comma. - Vec<A> now implements PartialEq<[B]> where A: PartialEq<B>. - The RefCell::{replace, replace_with, clone} methods now all use #[track_caller]. + Stabilized APIs - slice::as_ptr_range - slice::as_mut_ptr_range - VecDeque::make_contiguous - future::pending - future::ready The following previously stable methods are now `const fn's`: - Option::is_some - Option::is_none - Option::as_ref - Result::is_ok - Result::is_err - Result::as_ref - Ordering::reverse - Ordering::then + Cargo + Rustdoc - You can now link to items in rustdoc using the intra-doc link syntax. E.g. /// Uses [`std::future`] will automatically generate a link to std::future's documentation. See "Linking to items by name" for more information. - You can now specify #[doc(alias = "<alias>")] on items to add search aliases when searching through rustdoc's UI. + Compatibility Notes - Promotion of references to 'static lifetime inside const fn now follows the same rules as inside a fn body. In particular, &foo() will not be promoted to 'static lifetime any more inside const fns. - Associated type bindings on trait objects are now verified to meet the bounds declared on the trait when checking that they implement the trait. - When trait bounds on associated types or opaque types are ambiguous, the compiler no longer makes an arbitrary choice on which bound to use. - Fixed recursive nonterminals not being expanded in macros during pretty-print/reparse check. This may cause errors if your macro wasn't correctly handling recursive nonterminal tokens. - &mut references to non zero-sized types are no longer promoted. - rustc will now warn if you use attributes like #[link_name] or #[cold] in places where they have no effect. - Updated _mm256_extract_epi8 and _mm256_extract_epi16 signatures in arch::{x86, x86_64} to return i32 to match the vendor signatures. - mem::uninitialized will now panic if any inner types inside a struct or enum disallow zero-initialization. - #[target_feature] will now error if used in a place where it has no effect. - Foreign exceptions are now caught by catch_unwind and will cause an abort. Note: This behaviour is not guaranteed and is still considered undefined behaviour, see the catch_unwind documentation for further information. + Internal Only These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools. - Building rustc from source now uses ninja by default over make. You can continue building with make by setting ninja=false in your config.toml. - cg_llvm: fewer_names in uncached_llvm_type - Made ensure_sufficient_stack() non-generic - Rebased patches: + ignore-Wstring-conversion.patch (location) OBS-URL: https://build.opensuse.org/request/show/862086 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=272 |
||
---|---|---|
_constraints | ||
_service | ||
.gitattributes | ||
.gitignore | ||
ignore-Wstring-conversion.patch | ||
README.suse-maint | ||
rust-1.47.0-aarch64-unknown-linux-gnu.tar.xz | ||
rust-1.47.0-aarch64-unknown-linux-gnu.tar.xz.asc | ||
rust-1.47.0-armv7-unknown-linux-gnueabihf.tar.xz | ||
rust-1.47.0-armv7-unknown-linux-gnueabihf.tar.xz.asc | ||
rust-1.47.0-i686-unknown-linux-gnu.tar.xz | ||
rust-1.47.0-i686-unknown-linux-gnu.tar.xz.asc | ||
rust-1.47.0-powerpc64-unknown-linux-gnu.tar.xz | ||
rust-1.47.0-powerpc64-unknown-linux-gnu.tar.xz.asc | ||
rust-1.47.0-powerpc64le-unknown-linux-gnu.tar.xz | ||
rust-1.47.0-powerpc64le-unknown-linux-gnu.tar.xz.asc | ||
rust-1.47.0-powerpc-unknown-linux-gnu.tar.xz | ||
rust-1.47.0-powerpc-unknown-linux-gnu.tar.xz.asc | ||
rust-1.47.0-s390x-unknown-linux-gnu.tar.xz | ||
rust-1.47.0-s390x-unknown-linux-gnu.tar.xz.asc | ||
rust-1.47.0-x86_64-unknown-linux-gnu.tar.xz | ||
rust-1.47.0-x86_64-unknown-linux-gnu.tar.xz.asc | ||
rust-rpmlintrc | ||
rust.changes | ||
rust.keyring | ||
rust.spec | ||
rustc-1.48.0-src.tar.xz |
# Automatic updating via _service Edit the spec file, and update the variables related with the version (in format X.YY.Z): - *version_current*: for the new version of Rust - *version_previous*: for the previous version of Rust - *version_bootstrap*: for the version used to compile Rust, it recommended to use the same version that *version_previous* - *rustfmt_version*: for the version of rustfmt cli, check the tarball to find the correct version - *clippy_version*: for the version of clippy, check the tarball to find the correct version After that, we can execute the service file: osc service disabledrun 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.