* Fri Apr 21 2023 William Brown - Update to version 1.69.0 - for details see the rust1.69 package * Fri Mar 10 2023 William Brown - Update to version 1.68.0 - for details see the rust1.68 package * Tue Feb 14 2023 William Brown - Update to version 1.67.1 - for details see the rust1.67 package * Tue Jan 31 2023 William Brown - Update to version 1.67.0 - for details see the rust1.67 package * Fri Dec 16 2022 William Brown - Update to version 1.66.0 - for details see the rust1.66 package * Fri Nov 04 2022 William Brown - Update to version 1.65.0 - for details see the rust1.65 package * Wed Sep 28 2022 Guillaume GARDET - Enable armv6 again - boo#1196328 * Sun Sep 25 2022 William Brown - Update to version 1.64.0 - for details see the rust1.64 package * Tue Aug 23 2022 William Brown - Update to version 1.63.0 - for details see the rust1.63 package * Mon Jul 04 2022 William Brown - Update to version 1.62.0 - for details see the rust1.62 package * Fri May 20 2022 William Brown - Update to version 1.61.0 - for details see the rust1.61 package * Fri Apr 08 2022 William Brown - Update to version 1.60.0 - for details see the rust1.60 package * Fri Feb 25 2022 William Brown - Update to version 1.59.0 - for details see the rust1.59 package * Wed Feb 16 2022 William Brown - Update package description to help users choose what tooling to install. * Mon Jan 17 2022 Dominique Leuenberger - Provide rust+cargo by cargo: all cargo package provide this symbol too. Having the meta package provide it allows OBS to have a generic prefernece on the meta package for all packages \'just\' requiring rust+cargo. * Fri Jan 14 2022 William Brown - Update to version 1.58.0 * Fri Dec 03 2021 William Brown - Update to version 1.57.0 * Mon Nov 08 2021 William Brown - Update to version 1.56.1 * Mon Oct 25 2021 William Brown - Remove rls/gdb as they are superceded by rustup * Fri Sep 10 2021 William Brown - Update to version 1.55 * Mon Aug 16 2021 William Brown - Change expression of dependency requirements to resolve zypper dup issues * Fri Jul 30 2021 William Brown - Update to version 1.54 * Tue Jul 06 2021 Dominique Leuenberger - Only install rls/README when building devtools, as otherwise this file would end up in no package. * Tue Jul 06 2021 William Brown - Revert package to be arch dependent based on reviewer feedback * Mon Jun 28 2021 William Brown - Migrate to parallel versioned rust installs.- Remove artefacts for building rust * ignore-Wstring-conversion.patch * Fri Jun 18 2021 William Brown - Update to version 1.53: + Language - [You can now use unicode for identifiers.][83799] This allows multilingual identifiers but still doesn\'t allow glyphs that are not considered characters such as `◆` or `🦀`. More specifically you can now use any identifier that matches the UAX #31 \"Unicode Identifier and Pattern Syntax\" standard. This is the same standard as languages like Python, however Rust uses NFC normalization which may be different from other languages. - [You can now specify \"or patterns\" inside pattern matches.][79278] Previously you could only use `|` (OR) on complete patterns. E.g. ```rust let x = Some(2u8); // Before matches!(x, Some(1) | Some(2)); // Now matches!(x, Some(1 | 2)); ``` - [Added the `:pat_param` `macro_rules!` matcher.][83386] This matcher has the same semantics as the `:pat` matcher. This is to allow `:pat` to change semantics to being a pattern fragment in a future edition. + Compiler - [Updated the minimum external LLVM version to LLVM 10.][83387] - [Added Tier 3\\ * support for the `wasm64-unknown-unknown` target.][80525] - [Improved debuginfo for closures and async functions on Windows MSVC.][83941] \\ * Refer to Rust\'s [platform support page][platform-support-doc] for more information on Rust\'s tiered platform support. + Libraries - [Abort messages will now forward to `android_set_abort_message` on Android platforms when available.][81469] - [`slice::IterMut<\'_, T>` now implements `AsRef<[T]>`][82771] - [Arrays of any length now implement `IntoIterator`.][84147] Currently calling `.into_iter()` as a method on an array will return `impl Iterator`, but this may change in a future edition to change `Item` to `T`. Calling `IntoIterator::into_iter` directly on arrays will provide `impl Iterator` as expected. - [`leading_zeros`, and `trailing_zeros` are now available on all `NonZero` integer types.][84082] - [`{f32, f64}::from_str` now parse and print special values (`NaN`, `-0`) according to IEEE RFC 754.][78618] - [You can now index into slices using `(Bound, Bound)`.][77704] - [Add the `BITS` associated constant to all numeric types.][82565] + Cargo - [Cargo now supports git repositories where the default `HEAD` branch is not \"master\".][cargo/9392] This also includes a switch to the version 3 `Cargo.lock` format which can handle default branches correctly. - [macOS targets now default to `unpacked` split-debuginfo.][cargo/9298] - [The `authors` field is no longer included in `Cargo.toml` for new projects.][cargo/9282] + Rustdoc - [Added the `rustdoc::bare_urls` lint that warns when you have URLs without hyperlinks.][81764] + Compatibility Notes - [Implement token-based handling of attributes during expansion][82608] - [`Ipv4::from_str` will now reject octal format IP addresses in addition to rejecting hexadecimal IP addresses.][83652] The octal format can lead to confusion and potential security vulnerabilities and [is no longer recommended][ietf6943]. * Mon May 10 2021 William Brown - Update to version 1.52.1: - This release works around broken builds on 1.52.0, which are caused by newly added verification. The bugs this verification detects are present in all Rust versions, and can trigger miscompilations in incremental builds, so downgrading to a prior stable version is not a fix. - What should a Rust programmer do in response? - upgrade to 1.52.1 - deleting your incremental compilation cache (e.g. by running cargo clean) - forcing incremental compilation to be disabled, by setting CARGO_INCREMENTAL=0 in your environment or build.incremental to false in the config.toml. - For more: https://blog.rust-lang.org/2021/05/10/Rust-1.52.1.html * Fri May 07 2021 William Brown - Update to version 1.52: + Language - [Added the `unsafe_op_in_unsafe_fn` lint, which checks whether the unsafe code in an `unsafe fn` is wrapped in a `unsafe` block.][79208] This lint is allowed by default, and may become a warning or hard error in a future edition. - [You can now cast mutable references to arrays to a pointer of the same type as the element.][81479] + Compiler - [Upgraded the default LLVM to LLVM 12.][81451] - Added tier 3\\ * support for the following targets. - [`s390x-unknown-linux-musl`][82166] - [`riscv32gc-unknown-linux-musl` & `riscv64gc-unknown-linux-musl`][82202] - [`powerpc-unknown-openbsd`][82733] + Libraries - [`OsString` now implements `Extend` and `FromIterator`.][82121] - [`cmp::Reverse` now has `#[repr(transparent)]` representation.][81879] - [`Arc` now implements `error::Error`.][80553] - [All integer division and remainder operations are now `const`.][80962] + Stabilised APIs - [`Arguments::as_str`] - [`char::MAX`] - [`char::REPLACEMENT_CHARACTER`] - [`char::UNICODE_VERSION`] - [`char::decode_utf16`] - [`char::from_digit`] - [`char::from_u32_unchecked`] - [`char::from_u32`] - [`slice::partition_point`] - [`str::rsplit_once`] - [`str::split_once`] The following previously stable APIs are now `const`. - [`char::len_utf8`] - [`char::len_utf16`] - [`char::to_ascii_uppercase`] - [`char::to_ascii_lowercase`] - [`char::eq_ignore_ascii_case`] - [`u8::to_ascii_uppercase`] - [`u8::to_ascii_lowercase`] - [`u8::eq_ignore_ascii_case`] + Rustdoc - [Rustdoc lints are now treated as a tool lint, meaning that lints are now prefixed with `rustdoc::` (e.g. `#[warn(rustdoc::non_autolinks)]`).][80527] Using the old style is still allowed, and will become a warning in a future release. - [Rustdoc now supports argument files.][82261] - [Rustdoc now generates smart punctuation for documentation.][79423] - [You can now use \"task lists\" in Rustdoc Markdown.][81766] E.g. ```markdown - [x] Complete - [ ] Todo ``` + Misc - [You can now pass multiple filters to tests.][81356] E.g. `cargo test -- foo bar` will run all tests that match `foo` and `bar`. - [Rustup now distributes PDB symbols for the `std` library on Windows, allowing you to see `std` symbols when debugging.][82218] + 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. - [Check the result cache before the DepGraph when ensuring queries][81855] - [Try fast_reject::simplify_type in coherence before doing full check][81744] - [Only store a LocalDefId in some HIR nodes][81611] - [Store HIR attributes in a side table][79519] + Compatibility Notes - ------------------ - [Cargo build scripts are now forbidden from setting `RUSTC_BOOTSTRAP`.][cargo/9181] - [Removed support for the `x86_64-rumprun-netbsd` target.][82594] - [Deprecated the `x86_64-sun-solaris` target in favor of `x86_64-pc-solaris`.][82216] - [Rustdoc now only accepts `,`, ` `, and `\\t` as delimiters for specifying languages in code blocks.][78429] - [Rustc now catches more cases of `pub_use_of_private_extern_crate`][80763] - [Changes in how proc macros handle whitespace may lead to panics when used with older `proc-macro-hack` versions. A `cargo update` should be sufficient to fix this in all cases.][84136]- Remove support-llvm12.patch - feature of 1.52 * Sat Apr 17 2021 Aaron Puchert - Add support-llvm12.patch to support building with LLVM 12. * Tue Apr 06 2021 William Brown - Update to version 1.51: + Language - [You can now parameterize items such as functions, traits, and `struct`s by constant values in addition to by types and lifetimes.][79135] Also known as \"const generics\" E.g. you can now write the following. Note: Only values of primitive integers, `bool`, or `char` types are currently permitted. + Compiler - [Added the `-Csplit-debuginfo` codegen option for macOS platforms.][79570] This option controls whether debug information is split across multiple files or packed into a single file. * *Note * * This option is unstable on other platforms. - [Added tier 3\\ * support for `aarch64_be-unknown-linux-gnu`, `aarch64-unknown-linux-gnu_ilp32`, and `aarch64_be-unknown-linux-gnu_ilp32` targets.][81455] - [Added tier 3 support for `i386-unknown-linux-gnu` and `i486-unknown-linux-gnu` targets.][80662] - [The `target-cpu=native` option will now detect individual features of CPUs.][80749] \\ * Refer to Rust\'s [platform support page][platform-support-doc] for more information on Rust\'s tiered platform support. + Libraries - [`Box::downcast` is now also implemented for any `dyn Any + Send + Sync` object.][80945] - [`str` now implements `AsMut`.][80279] - [`u64` and `u128` now implement `From`.][79502] - [`Error` is now implemented for `&T` where `T` implements `Error`.][75180] - [`Poll::{map_ok, map_err}` are now implemented for `Poll