Revisions of rust
William Brown (firstyear)
accepted
request 891155
from
William Brown (firstyear)
(revision 288)
- 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<impl Error>` 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`]
buildservice-autocommit
accepted
request 886804
from
William Brown (firstyear)
(revision 287)
baserev update by copy to link target
William Brown (firstyear)
accepted
request 886366
from
Aaron Puchert (aaronpuchert)
(revision 286)
- Add support-llvm12.patch to support building with LLVM 12.
buildservice-autocommit
accepted
request 883124
from
William Brown (firstyear)
(revision 285)
baserev update by copy to link target
William Brown (firstyear)
accepted
request 883116
from
William Brown (firstyear)
(revision 284)
- 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<str>`.][80279] - [`u64` and `u128` now implement `From<char>`.][79502] - [`Error` is now implemented for `&T` where `T` implements `Error`.][75180] - [`Poll::{map_ok, map_err}` are now implemented for `Poll<Option<Result<T, E>>>`.][80968] - [`unsigned_abs` is now implemented for all signed integer types.][80959] - [`io::Empty` now implements `io::Seek`.][78044] - [`rc::Weak<T>` and `sync::Weak<T>`'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`]
William Brown (firstyear)
accepted
request 881818
from
William Brown (firstyear)
(revision 283)
- Rebased patches: + ignore-Wstring-conversion.patch (offset / fuzz)
William Brown (firstyear)
accepted
request 881724
from
Manfred Hollstein (manfred-h)
(revision 282)
- rust.spec: Fix typo. Add work-around for cargo not respecting _libexecdir on Leap.
buildservice-autocommit
accepted
request 878394
from
Neal Gompa (Pharaoh_Atem)
(revision 281)
baserev update by copy to link target
Neal Gompa (Pharaoh_Atem)
accepted
request 878393
from
Guillaume GARDET (Guillaume_G)
(revision 280)
- Add bootstrap for armv6
Neal Gompa (Pharaoh_Atem)
committed
(revision 279)
Drop changelog entry about download helper
Neal Gompa (Pharaoh_Atem)
committed
(revision 278)
Delete download helper since rpmdev-spectool works for this anyway
Neal Gompa (Pharaoh_Atem)
accepted
request 877726
from
Guillaume GARDET (Guillaume_G)
(revision 277)
- 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<T> 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<char>. - 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<File> 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. - Add download_helper.sh to ease download of bootstrap packages
buildservice-autocommit
accepted
request 863002
from
Neal Gompa (Pharaoh_Atem)
(revision 276)
baserev update by copy to link target
Neal Gompa (Pharaoh_Atem)
accepted
request 862664
from
Manfred Hollstein (manfred-h)
(revision 275)
FWIW, I've now used rust-1.49.0 successfully to build both MozillaFirefox-84.0.2 and firefox-esr-78.6.1! FWIW2, I raised the memory constraints for x86_64 from 8 to 11G, because otherwise a build got killed due to OOM too often. This SR contains everything which got accepted for 1.48 just recently. - Update to version 1.49.0 + Language - Unions can now implement Drop, and you can now have a field in a union with ManuallyDrop<T>. - 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)
Neal Gompa (Pharaoh_Atem)
committed
(revision 274)
- Add riscv64 build - Add rust.keyring as a source
Neal Gompa (Pharaoh_Atem)
committed
(revision 273)
Add reference to rust.keyring into changes
Neal Gompa (Pharaoh_Atem)
accepted
request 862086
from
Manfred Hollstein (manfred-h)
(revision 272)
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)
Neal Gompa (Pharaoh_Atem)
accepted
request 851409
from
Bernhard Wiedemann (bmwiedemann)
(revision 271)
Check upstream signatures for binaries
buildservice-autocommit
accepted
request 849988
from
Neal Gompa (Pharaoh_Atem)
(revision 270)
baserev update by copy to link target
Neal Gompa (Pharaoh_Atem)
accepted
request 849719
from
Manfred Hollstein (manfred-h)
(revision 269)
This request actually fixes two issues: - rust-rpmlintrc: Reflect updated LLVM name in the filter. #1: LLVM got updated to version 11, but the rpmlint filter does not reflect it. Fixes: rust.x86_64: E: shlib-policy-name-error (Badness: 10000) libLLVM-11-rust-1_47_0-stable Your package contains a single shared library but is not named after its SONAME. - Make all shared libraries in %{common_libdir} executable; otherwise the %{fdupes} macro will not find any duplicates in %{rustlibdir}. #2: Files which only differ in their protection bits (i.e. execution bit in this case) will not be replaced by a hard link using the %{fdupes} call. This patch fixes: rust.x86_64: E: files-duplicated-waste (Badness: 100) 4349464 Your package contains duplicated files that are not hard- or symlinks. You should use the %fdupes macro to link the files to one. Files in question are from /usr/lib/ and /usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/
Displaying revisions 61 - 80 of 348