SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for cargo-1.69.0-1.1.x86_64.rpm :

* 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>>`.][80968] - [`unsigned_abs` is now implemented for all signed integer types.][80959] - [`io::Empty` now implements `io::Seek`.][78044] - [`rc::Weak` and `sync::Weak`\'s methods such as `as_ptr` are now implemented for `T: ?Sized` types.][80764] + Stabilized APIs - [`Arc::decrement_strong_count`] - [`Arc::increment_strong_count`] - [`Once::call_once_force`] - [`Peekable::next_if_eq`] - [`Peekable::next_if`] - [`Seek::stream_position`] - [`array::IntoIter`] - [`panic::panic_any`] - [`ptr::addr_of!`] - [`ptr::addr_of_mut!`] - [`slice::fill_with`] - [`slice::split_inclusive_mut`] - [`slice::split_inclusive`] - [`slice::strip_prefix`] - [`slice::strip_suffix`] - [`str::split_inclusive`] - [`sync::OnceState`] - [`task::Wake`] + Cargo - [Added the `split-debuginfo` profile option to control the -Csplit-debuginfo codegen option.][cargo/9112] - [Added the `resolver` field to `Cargo.toml` to enable the new feature resolver and CLI option behavior.][cargo/8997] Version 2 of the feature resolver will try to avoid unifying features of dependencies where that unification could be unwanted. Such as using the same dependency with a `std` feature in a build scripts and proc-macros, while using the `no-std` feature in the final binary. See the [Cargo book documentation][feature-resolverAATT2.0] for more information on the feature. + Rustdoc - [Rustdoc will now include documentation for methods available from _nested_ `Deref` traits.][80653] - [You can now provide a `--default-theme` flag which sets the default theme to use for documentation.][79642] Various improvements to intra-doc links: - [You can link to non-path primitives such as `slice`.][80181] - [You can link to associated items.][74489] - [You can now include generic parameters when linking to items, like `Vec`.][76934] + Misc - [You can now pass `--include-ignored` to tests (e.g. with `cargo test -- --include-ignored`) to include testing tests marked `#[ignore]`.][80053] + Compatibility Notes - [WASI platforms no longer use the `wasm-bindgen` ABI, and instead use the wasm32 ABI.][79998] - [`rustc` no longer promotes division, modulo and indexing operations to `const` that could fail.][80579] - [The minimum version of glibc for the following platforms has been bumped to version 2.31 for the distributed artifacts.][81521] - `armv5te-unknown-linux-gnueabi` - `sparc64-unknown-linux-gnu` - `thumbv7neon-unknown-linux-gnueabihf` - `armv7-unknown-linux-gnueabi` - `x86_64-unknown-linux-gnux32`
* Mon Mar 29 2021 opensuse-packagingAATTopensuse.org- Rebased patches: + ignore-Wstring-conversion.patch (offset / fuzz)
* Sun Mar 28 2021 Manfred Hollstein - rust.spec: Fix typo. Add work-around for cargo not respecting _libexecdir on Leap.
* Thu Mar 11 2021 Guillaume GARDET - Add bootstrap for armv6
* Wed Feb 24 2021 Guillaume GARDET - Update to version 1.50:
* This fixes build on armv7 - boo#1181643 + Language - You can now use const values for x in [x; N] array expressions. This has been technically possible since 1.38.0, as it was unintentionally stabilized. - Assignments to ManuallyDrop union fields are now considered safe. + Compiler - Added tier 3
* support for the armv5te-unknown-linux-uclibceabi target. - Added tier 3 support for the aarch64-apple-ios-macabi target. - The x86_64-unknown-freebsd is now built with the full toolset. - Dropped support for all cloudabi targets.
* Refer to Rust\'s platform support page for more information on Rust\'s tiered platform support. + Libraries - proc_macro::Punct now implements PartialEq. - ops::{Index, IndexMut} are now implemented for fixed sized arrays of any length. - On Unix platforms, the std::fs::File type now has a \"niche\" of -1. This value cannot be a valid file descriptor, and now means Option takes up the same amount of space as File. + Stabilized APIs bool::then btree_map::Entry::or_insert_with_key f32::clamp f64::clamp hash_map::Entry::or_insert_with_key Ord::clamp RefCell::take slice::fill UnsafeCell::get_mut - The following previously stable methods are now const. IpAddr::is_ipv4 IpAddr::is_ipv6 IpAddr::is_unspecified IpAddr::is_loopback IpAddr::is_multicast Ipv4Addr::octets Ipv4Addr::is_loopback Ipv4Addr::is_private Ipv4Addr::is_link_local Ipv4Addr::is_multicast Ipv4Addr::is_broadcast Ipv4Addr::is_documentation Ipv4Addr::to_ipv6_compatible Ipv4Addr::to_ipv6_mapped Ipv6Addr::segments Ipv6Addr::is_unspecified Ipv6Addr::is_loopback Ipv6Addr::is_multicast Ipv6Addr::to_ipv4 Layout::size Layout::align Layout::from_size_align pow for all integer types. checked_pow for all integer types. saturating_pow for all integer types. wrapping_pow for all integer types. next_power_of_two for all unsigned integer types. checked_next_power_of_two for all unsigned integer types. + Cargo - Added the [build.rustc-workspace-wrapper] option. This option sets a wrapper to execute instead of rustc, for workspace members only. - cargo:rerun-if-changed will now, if provided a directory, scan the entire contents of that directory for changes. - Added the --workspace flag to the cargo update command. + Misc - The search results tab and the help button are focusable with keyboard in rustdoc. - Running tests will now print the total time taken to execute. + Compatibility Notes - The compare_and_swap method on atomics has been deprecated. It\'s recommended to use the compare_exchange and compare_exchange_weak methods instead. - Changes in how TokenStreams are checked have fixed some cases where you could write unhygenic macro_rules! macros. - #![test] as an inner attribute is now considered unstable like other inner macro attributes, and reports an error by default through the soft_unstable lint. - Overriding a forbid lint at the same level that it was set is now a hard error. - You can no longer intercept panic! calls by supplying your own macro. It\'s recommended to use the #[panic_handler] attribute to provide your own implementation. - Semi-colons after item statements (e.g. struct Foo {};) now produce a warning.
* Sun Jan 10 2021 Neal Gompa - Add riscv64 build
* Sat Jan 09 2021 Manfred Hollstein - : Add \"--stage 1\" to the \"./x.py doc\" call to ensure the newly built compiler gets used.
* Sat Jan 09 2021 Manfred Hollstein - 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
* Sun Jan 03 2021 Manfred Hollstein - Update to version 1.49.0 + Language - Unions can now implement Drop, and you can now have a field in a union with ManuallyDrop. - You can now cast uninhabited enums to integers. - You can now bind by reference and by move in patterns. This allows you to selectively borrow individual components of a type. E.g. [#][derive(Debug)] struct Person { name: String, age: u8, } let person = Person { name: String::from(\"Alice\"), age: 20, }; // `name` is moved out of person, but `age` is referenced. let Person { name, ref age } = person; println!(\"{} {}\", name, age); + Compiler - Added tier 1
* support for aarch64-unknown-linux-gnu. - Added tier 2 support for aarch64-apple-darwin. - Added tier 2 support for aarch64-pc-windows-msvc. - Added tier 3 support for mipsel-unknown-none. - Raised the minimum supported LLVM version to LLVM 9. - Output from threads spawned in tests is now captured. - Change os and vendor values to \"none\" and \"unknown\" for some targets
* Refer to Rust\'s platform support page for more information on Rust\'s tiered platform support. + Libraries - RangeInclusive now checks for exhaustion when calling contains and indexing. - ToString::to_string now no longer shrinks the internal buffer in the default implementation. - ops::{Index, IndexMut} are now implemented for fixed sized arrays of any length. + Stabilized APIs - slice::select_nth_unstable - slice::select_nth_unstable_by - slice::select_nth_unstable_by_key The following previously stable methods are now const. - Poll::is_ready - Poll::is_pending + Cargo - Building a crate with cargo-package should now be independently reproducible. - cargo-tree now marks proc-macro crates. - Added CARGO_PRIMARY_PACKAGE build-time environment variable. This variable will be set if the crate being built is one the user selected to build, either with -p or through defaults. - You can now use glob patterns when specifying packages & targets. + Compatibility Notes - Demoted i686-unknown-freebsd from host tier 2 to target tier 2 support. - Macros that end with a semi-colon are now treated as statements even if they expand to nothing. - Rustc will now check for the validity of some built-in attributes on enum variants. Previously such invalid or unused attributes could be ignored. - Leading whitespace is stripped more uniformly in documentation comments, which may change behavior. You read this post about the changes for more details. - Trait bounds are no longer inferred for associated types. + 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. - rustc\'s internal crates are now compiled using the initial-exec Thread Local Storage model. - Calculate visibilities once in resolve. - Added system to the llvm-libunwind bootstrap config option. - Added --color for configuring terminal color support to bootstrap.- Rebased patches: + ignore-Wstring-conversion.patch (location)
* Sun Jan 03 2021 Manfred Hollstein - LLVM >= 9.0 is needed nowadays.- Disable usage of \"ninja\" for all distributions older than Leap 15.2
* Sat Jan 02 2021 Manfred Hollstein - 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=` 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>. - The matches! macro now supports having a trailing comma. - Vec now implements PartialEq<[B]> where A: PartialEq. - 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 = \"\")] 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)
* Sat Nov 28 2020 Bernhard Wiedemann - Check upstream signatures for binaries- Add rust.keyring
* Fri Nov 20 2020 Manfred Hollstein - Make all shared libraries in %{common_libdir} executable; otherwise fdupes will not find any duplicates in %{rustlibdir}.
* Thu Nov 05 2020 Manfred Hollstein - rust-rpmlintrc: Reflect updated LLVM name in the filter.
* Sun Oct 11 2020 William Brown - Update to version 1.47.0 + Language - [Closures will now warn when not used.][74869] + Compiler - [Stabilized the `-C control-flow-guard` codegen option][73893], which enables [Control Flow Guard][1.47.0-cfg] for Windows platforms, and is ignored on other platforms. - [Upgraded to LLVM 11.][73526] - [Added tier 3\\
* support for the `thumbv4t-none-eabi` target.][74419] - [Upgrade the FreeBSD toolchain to version 11.4][75204] - [`RUST_BACKTRACE`\'s output is now more compact.][75048] \\
* Refer to Rust\'s [platform support page][forge-platform-support] for more information on Rust\'s tiered platform support. + Libraries - [`CStr` now implements `Index>`.][74021] - [Traits in `std`/`core` are now implemented for arrays of any length, not just those of length less than 33.][74060] - [`ops::RangeFull` and `ops::Range` now implement Default.][73197] - [`panic::Location` now implements `Copy`, `Clone`, `Eq`, `Hash`, `Ord`, `PartialEq`, and `PartialOrd`.][73583] + Stabilized APIs - [`Ident::new_raw`] - [`Range::is_empty`] - [`RangeInclusive::is_empty`] - [`Result::as_deref`] - [`Result::as_deref_mut`] - [`Vec::leak`] - [`pointer::offset_from`] - [`f32::TAU`] - [`f64::TAU`] The following previously stable APIs have now been made const. - [The `new` method for all `NonZero` integers.][73858] - [The `checked_add`,`checked_sub`,`checked_mul`,`checked_neg`, `checked_shl`, `checked_shr`, `saturating_add`, `saturating_sub`, and `saturating_mul` methods for all integers.][73858] - [The `checked_abs`, `saturating_abs`, `saturating_neg`, and `signum` for all signed integers.][73858] - [The `is_ascii_alphabetic`, `is_ascii_uppercase`, `is_ascii_lowercase`, `is_ascii_alphanumeric`, `is_ascii_digit`, `is_ascii_hexdigit`, `is_ascii_punctuation`, `is_ascii_graphic`, `is_ascii_whitespace`, and `is_ascii_control` methods for `char` and `u8`.][73858] + Cargo - [`build-dependencies` are now built with opt-level 0 by default.][cargo/8500] You can override this by setting the following in your `Cargo.toml`. ```toml [profile.release.build-override] opt-level = 3 ``` - [`cargo-help` will now display man pages for commands rather just the `--help` text.][cargo/8456] - [`cargo-metadata` now emits a `test` field indicating if a target has tests enabled.][cargo/8478] - [`workspace.default-members` now respects `workspace.exclude`.][cargo/8485] - [`cargo-publish` will now use an alternative registry by default if it\'s the only registry specified in `package.publish`.][cargo/8571] + Misc - [Added a help button beside Rustdoc\'s searchbar that explains rustdoc\'s type based search.][75366] - [Added the Ayu theme to rustdoc.][71237]- Rebased patches: + ignore-Wstring-conversion.patch (offset / fuzz)
* Sat Oct 10 2020 William Brown - Update to version 1.46.0 + Language - [`if`, `match`, and `loop` expressions can now be used in const functions.][72437] - [Additionally you are now also able to coerce and cast to slices (`&[T]`) in const functions.][73862] - [The `#[track_caller]` attribute can now be added to functions to use the function\'s caller\'s location information for panic messages.][72445] - [Recursively indexing into tuples no longer needs parentheses.][71322] E.g. `x.0.0` over `(x.0).0`. - [`mem::transmute` can now be used in statics and constants.][72920]
*
*Note
*
* You currently can\'t use `mem::transmute` in constant functions. + Compiler - [You can now use the `cdylib` target on Apple iOS and tvOS platforms.][73516] - [Enabled static \"Position Independent Executables\" by default for `x86_64-unknown-linux-musl`.][70740] + Libraries - [`mem::forget` is now a `const fn`.][73887] - [`String` now implements `From`.][73466] - [The `leading_ones`, and `trailing_ones` methods have been stabilised for all integer types.][73032] - [`vec::IntoIter` now implements `AsRef<[T]>`.][72583] - [All non-zero integer types (`NonZeroU8`) now implement `TryFrom` for their zero-able equivalent (e.g. `TryFrom`).][72717] - [`&[T]` and `&mut [T]` now implement `PartialEq>`.][71660] - [`(String, u16)` now implements `ToSocketAddrs`.][73007] - [`vec::Drain<\'_, T>` now implements `AsRef<[T]>`.][72584] + Stabilized APIs - [`Option::zip`] - [`vec::Drain::as_slice`] + Cargo Added a number of new environment variables that are now available when compiling your crate. - [`CARGO_BIN_NAME` and `CARGO_CRATE_NAME`][cargo/8270] Providing the name of the specific binary being compiled and the name of the crate. - [`CARGO_PKG_LICENSE`][cargo/8325] The license from the manifest of the package. - [`CARGO_PKG_LICENSE_FILE`][cargo/8387] The path to the license file.
* Thu Oct 08 2020 opensuse-packagingAATTopensuse.org- Rebased patches: + ignore-Wstring-conversion.patch (offset / fuzz)
* Thu Sep 03 2020 William Brown - Update to version 1.45.2
* Fri Aug 14 2020 Martin Sirringhaus - Set codeunits=1 for all archs to avoid OOM-kills and produce the fastest possible compiler-binaries (at the cost of build-times for this package)
* Thu Aug 13 2020 Andreas Schwab - Pacify source validator
* Thu Aug 13 2020 Andreas Schwab - Add support for riscv64
* Fri Aug 07 2020 Manfred Hollstein - Minimum version needed for LLVM is >= 8.0
* Thu Aug 06 2020 Michał Rostecki - Update to version 1.44.1
* rustfmt accepts rustfmt_skip in cfg_attr again.
* Don\'t hash executable filenames on apple platforms, fixing backtraces.
* Fix crashes when finding backtrace on macOS.
* Clippy applies lint levels into different files.- Update to version 1.44.0 + Language - You can now use `async/.await` with `#[no_std]` enabled. - Added the `unused_braces` lint. - Expansion-driven outline module parsing + Compiler - Rustc now respects the `-C codegen-units` flag in incremental mode. Additionally when in incremental mode rustc defaults to 256 codegen units. - Refactored `catch_unwind` to have zero-cost, unless unwinding is enabled and a panic is thrown. - Added tier 3\\
* support for the `aarch64-unknown-none` and `aarch64-unknown-none-softfloat` targets. - Added tier 3 support for `arm64-apple-tvos` and `x86_64-apple-tvos` targets. + Libraries - Special cased `vec![]` to map directly to `Vec::new()`. This allows `vec![]` to be able to be used in `const` contexts. - `convert::Infallible` now implements `Hash`. - `OsString` now implements `DerefMut` and `IndexMut` returning a `&mut OsStr`. - Unicode 13 is now supported. - `String` now implements `From<&mut str>`. - `IoSlice` now implements `Copy`. - `Vec` now implements `From<[T; N]>`. Where `N` is at most 32. - `proc_macro::LexError` now implements `fmt::Display` and `Error`. - `from_le_bytes`, `to_le_bytes`, `from_be_bytes`, `to_be_bytes`, `from_ne_bytes`, and `to_ne_bytes` methods are now `const` for all integer types. + Stabilizd APIs - [`PathBuf::with_capacity`] - [`PathBuf::capacity`] - [`PathBuf::clear`] - [`PathBuf::reserve`] - [`PathBuf::reserve_exact`] - [`PathBuf::shrink_to_fit`] - [`f32::to_int_unchecked`] - [`f64::to_int_unchecked`] - [`Layout::align_to`] - [`Layout::pad_to_align`] - [`Layout::array`] - [`Layout::extend`] + Cargo - Added the `cargo tree` command which will print a tree graph of your dependencies + Misc - Rustdoc now allows you to specify `--crate-version` to have rustdoc include the version in the sidebar. + Compatibility Notes - Rustc now correctly generates static libraries on Windows GNU targets with the `.a` extension, rather than the previous `.lib`. - Removed the `-C no_integrated_as` flag from rustc. - The `file_name` property in JSON output of macro errors now points the actual source file rather than the previous format of ``.
*
*Note:
*
* this may not point to a file that actually exists on the user\'s system. - The minimum required external LLVM version has been bumped to LLVM 8. - `mem::{zeroed, uninitialised}` will now panic when used with types that do not allow zero initialization such as `NonZeroU8`. This was previously a warning. - In 1.45.0 (the next release) converting a `f64` to `u32` using the `as` operator has been defined as a saturating operation. This was previously undefined behaviour, but you can use the `{f64, f32}::to_int_unchecked` methods to continue using the current behaviour, which may be desirable in rare performance sensitive situations.- Rebased patches: + ignore-Wstring-conversion.patch (offset / fuzz) + rust-pr70163-prepare-for-llvm-10-upgrade.patch dropped (merged upstream)
* Wed May 20 2020 Martin Sirringhaus - Update to version 1.43.1 - Updated openssl-src to 1.1.1g for CVE-2020-1967. - Fixed the stabilization of AVX-512 features. - Fixed `cargo package --list` not working with unpublished dependencies.
* Mon May 04 2020 Ismail Dönmez - Add rust-pr70163-prepare-for-llvm-10-upgrade.patch to fix compilation with llvm10
* Mon May 04 2020 Andreas Schwab - Update rustfmt_version
* Wed Apr 29 2020 Martin Sirringhaus - Update to version 1.43.0 + Language - Fixed using binary operations with `&{number}` (e.g. `&1.0`) not having the type inferred correctly. - Attributes such as `#[cfg()]` can now be used on `if` expressions. - Syntax only changes:
* Allow `type Foo: Ord` syntactically.
* Fuse associated and extern items up to defaultness.
* Syntactically allow `self` in all `fn` contexts.
* Merge `fn` syntax + cleanup item parsing.
* `item` macro fragments can be interpolated into `trait`s, `impl`s, and `extern` blocks. For example, you may now write: ```rust macro_rules! mac_trait { ($i:item) => { trait T { $i } } } mac_trait! { fn foo() {} } ```
* These are still rejected
*semantically
*, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation. + Compiler - You can now pass multiple lint flags to rustc to override the previous flags. For example; `rustc -D unused -A unused-variables` denies everything in the `unused` lint group except `unused-variables` which is explicitly allowed. However, passing `rustc -A unused-variables -D unused` denies everything in the `unused` lint group
*
*including
*
* `unused-variables` since the allow flag is specified before the deny flag (and therefore overridden). - rustc will now prefer your system MinGW libraries over its bundled libraries if they are available on `windows-gnu`. - rustc now buffers errors/warnings printed in JSON. + Libraries - `Arc<[T; N]>`, `Box<[T; N]>`, and `Rc<[T; N]>`, now implement `TryFrom>`,`TryFrom>`, and `TryFrom>` respectively.
*
*Note
*
* These conversions are only available when `N` is `0..=32`. - You can now use associated constants on floats and integers directly, rather than having to import the module. e.g. You can now write `u32::MAX` or `f32::NAN` with no imports. - `u8::is_ascii` is now `const`. - `String` now implements `AsMut`. - Added the `primitive` module to `std` and `core`. This module reexports Rust\'s primitive types. This is mainly useful in macros where you want avoid these types being shadowed. - Relaxed some of the trait bounds on `HashMap` and `HashSet`. - `string::FromUtf8Error` now implements `Clone + Eq`. + Stabilized APIs - `Once::is_completed` - `f32::LOG10_2` - `f32::LOG2_10` - `f64::LOG10_2` - `f64::LOG2_10` - `iter::once_with` + Cargo - You can now set config `[profile]`s in your `.cargo/config`, or through your environment. - Cargo will now set `CARGO_BIN_EXE_` pointing to a binary\'s executable path when running integration tests or benchmarks. `` is the name of your binary as-is e.g. If you wanted the executable path for a binary named `my-program`you would use `env!(\"CARGO_BIN_EXE_my-program\")`. + Misc - Certain checks in the `const_err` lint were deemed unrelated to const evaluation, and have been moved to the `unconditional_panic` and `arithmetic_overflow` lints. + Compatibility Notes - Having trailing syntax in the `assert!` macro is now a hard error. This has been a warning since 1.36.0. - Fixed `Self` not having the correctly inferred type. This incorrectly led to some instances being accepted, and now correctly emits a hard error.
* Tue Apr 07 2020 Andreas Schwab - Avoid duplication of environment settings
* Tue Mar 31 2020 Antonio Larrosa - Update to version 1.42.0: + Language - You can now use the slice pattern syntax with subslices. - You can now use #[repr(transparent)] on univariant enums. Meaning that you can create an enum that has the exact layout and ABI of the type it contains. - There are some syntax-only changes:
* default is syntactically allowed before items in trait definitions.
* Items in impls (i.e. consts, types, and fns) may syntactically leave out their bodies in favor of ;.
* Bounds on associated types in impls are now syntactically allowed (e.g. type Foo: Ord;).
* ... (the C-variadic type) may occur syntactically directly as the type of any function parameter. These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by procedural macros and conditional compilation. + Compiler - Added tier 2 support for armv7a-none-eabi. - Added tier 2 support for riscv64gc-unknown-linux-gnu. - Option::{expect,unwrap} and Result::{expect, expect_err, unwrap, unwrap_err} now produce panic messages pointing to the location where they were called, rather than core\'s internals. Refer to Rust\'s platform support page for more information on Rust\'s tiered platform support. + Libraries - iter::Empty now implements Send and Sync for any T. - Pin::{map_unchecked, map_unchecked_mut} no longer require the return type to implement Sized. - io::Cursor now derives PartialEq and Eq. - Layout::new is now const. - Added Standard Library support for riscv64gc-unknown-linux-gnu. + Stabilized APIs - CondVar::wait_while - CondVar::wait_timeout_while - DebugMap::key - DebugMap::value - ManuallyDrop::take - matches! - ptr::slice_from_raw_parts_mut - ptr::slice_from_raw_parts + Cargo - You no longer need to include extern crate proc_macro; to be able to use proc_macro; in the 2018 edition. + Compatibility Notes - Error::description has been deprecated, and its use will now produce a warning. It\'s recommended to use Display/to_string instead.
* Tue Mar 31 2020 alarrosaAATTsuse.com- Rebased patches: + ignore-Wstring-conversion.patch (offset / fuzz)
* Mon Mar 23 2020 Federico Mena Quintero - Update to version 1.41.1: - Always check types of static items - Always check lifetime bounds of `Copy` impls - Fix miscompilation in callers of `Layout::repeat`- Update to version 1.41.0: + Language - You can now pass type parameters to foreign items when implementing traits. E.g. You can now write `impl From for Vec {}`. - You can now arbitrarily nest receiver types in the `self` position. E.g. you can now write `fn foo(self: Box>) {}`. Previously only `Self`, `&Self`, `&mut Self`, `Arc`, `Rc`, and `Box` were allowed. - You can now use any valid identifier in a `format_args` macro. Previously identifiers starting with an underscore were not allowed. - Visibility modifiers (e.g. `pub`) are now syntactically allowed on trait items and enum variants. These are still rejected semantically, but can be seen and parsed by procedural macros and conditional compilation. + Compiler - Rustc will now warn if you have unused loop `\'label`s. - Removed support for the `i686-unknown-dragonfly` target. - Added tier 3 support\\
* for the `riscv64gc-unknown-linux-gnu` target. - You can now pass an arguments file passing the `AATTpath` syntax to rustc. Note that the format differs somewhat from what is found in other tooling; please see the documentation for more information. - You can now provide `--extern` flag without a path, indicating that it is available from the search path or specified with an `-L` flag. Refer to Rust\'s [platform support page][forge-platform-support] for more information on Rust\'s tiered platform support. + Libraries - The `core::panic` module is now stable. It was already stable through `std`. - `NonZero
*` numerics now implement `From*>` if it\'s a smaller integer width. E.g. `NonZeroU16` now implements `From`. - `MaybeUninit` now implements `fmt::Debug`. + Stabilized APIs - `Result::map_or` - `Result::map_or_else` - `std::rc::Weak::weak_count` - `std::rc::Weak::strong_count` - `std::sync::Weak::weak_count` - `std::sync::Weak::strong_count` + Cargo - Cargo will now document all the private items for binary crates by default. - `cargo-install` will now reinstall the package if it detects that it is out of date. - Cargo.lock now uses a more git friendly format that should help to reduce merge conflicts. - You can now override specific dependencies\'s build settings. E.g. `[profile.dev.package.image] opt-level = 2` sets the `image` crate\'s optimisation level to `2` for debug builds. You can also use `[profile..build-override]` to override build scripts and their dependencies. + Misc - You can now specify `edition` in documentation code blocks to compile the block for that edition. E.g. `edition2018` tells rustdoc that the code sample should be compiled the 2018 edition of Rust. - You can now provide custom themes to rustdoc with `--theme`, and check the current theme with `--check-theme`. - You can use `#[cfg(doc)]` to compile an item when building documentation. + Compatibility Notes - As previously announced 1.41.0 will be the last tier 1 release for 32-bit Apple targets. This means that the source code is still available to build, but the targets are no longer being tested and release binaries for those platforms will no longer be distributed by the Rust project. Please refer to the linked blog post for more information.
* Fri Jan 17 2020 Dominique Leuenberger - Adjust constraints: Request 20GB HDD for all archs. Simplify the file by removing the overrides for various disk sizes. All archs are curretnly at roughly 17GB storage in use.
* Wed Jan 08 2020 Federico Mena Quintero - Bump version of libssh2 for SLE15; we now need a version with libssh2_userauth_publickey_frommemory(), which appeared in libssh2 1.6.0.- Use the bundled libssh2 prior to SLE15. SLE12 has 1.4.3, which is too old for the ssh crate now.
 
ICM