2016-09-06 18:11:34 +02:00
|
|
|
#
|
|
|
|
# spec file for package rust
|
|
|
|
#
|
2018-01-05 01:40:46 +01:00
|
|
|
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
2017-02-06 09:25:50 +01:00
|
|
|
# Copyright (c) 2017 Luke Jones, luke.nukem.jones@gmail.com
|
2016-09-06 18:11:34 +02:00
|
|
|
#
|
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
# published by the Open Source Initiative.
|
|
|
|
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
|
|
#
|
2016-10-24 09:34:54 +02:00
|
|
|
|
|
|
|
|
2018-05-13 17:55:39 +02:00
|
|
|
%global prev_rust 1.25.0
|
|
|
|
%global cargo_version 0.26.0
|
Accepting request 520946 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.20.0
- Remove x86 from build targets
- Language
+ [Associated constants are now stabilised.][42809]
+ [A lot of macro bugs are now fixed.][42913]
- Compiler
+ [Struct fields are now properly coerced to the expected field type.][42807]
+ [Enabled wasm LLVM backend][42571] WASM can now be built with the
`wasm32-experimental-emscripten` target.
+ [Changed some of the error messages to be more helpful.][42033]
+ [Add support for RELRO(RELocation Read-Only) for platforms that support
it.][43170]
+ [rustc now reports the total number of errors on compilation failure][43015]
previously this was only the number of errors in the pass that failed.
+ [Expansion in rustc has been sped up 29x.][42533]
+ [added `msp430-none-elf` target.][43099]
+ [rustc will now suggest one-argument enum variant to fix type mismatch when
applicable][43178]
+ [Fixes backtraces on Redox][43228]
+ [rustc now identifies different versions of same crate when absolute paths of
different types match in an error message.][42826]
- Libraries
+ [Relaxed Debug constraints on `{HashMap,BTreeMap}::{Keys,Values}`.][42854]
+ [Impl `PartialEq`, `Eq`, `PartialOrd`, `Ord`, `Debug`, `Hash` for unsized
tuples.][43011]
+ [Impl `fmt::{Display, Debug}` for `Ref`, `RefMut`, `MutexGuard`,
`RwLockReadGuard`, `RwLockWriteGuard`][42822]
+ [Impl `Clone` for `DefaultHasher`.][42799]
+ [Impl `Sync` for `SyncSender`.][42397]
+ [Impl `FromStr` for `char`][42271]
+ [Fixed how `{f32, f64}::{is_sign_negative, is_sign_positive}` handles
NaN.][42431]
+ [allow messages in the `unimplemented!()` macro.][42155]
ie. `unimplemented!("Waiting for 1.21 to be stable")`
+ [`pub(restricted)` is now supported in the `thread_local!` macro.][43185]
+ [Upgrade to Unicode 10.0.0][42999]
+ [Reimplemented `{f32, f64}::{min, max}` in Rust instead of using CMath.][42430]
+ [Skip the main thread's manual stack guard on Linux][43072]
+ [Iterator::nth for `ops::{Range, RangeFrom}` is now done in O(1) time][43077]
+ [`#[repr(align(N))]` attribute max number is now 2^31 + 1.][43097] This was
previously 2^15.
+ [`{OsStr, Path}::Display` now avoids allocations where possible][42613]
- Compatibility Notes
+ [Functions with `'static` in their return types will now not be as usable as
if they were using lifetime parameters instead.][42417]
+ [The reimplementation of `{f32, f64}::is_sign_{negative, positive}` now
takes the sign of NaN into account where previously didn't.][42430]
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
+ [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
+ [Macro recursion limit increased to 1024 from 64.][41676]
+ [Added lint for detecting unused macros.][41907]
+ [`loop` can now return a value with `break`.][42016] [RFC 1624]
For example: `let x = loop { break 7; };`
+ [C compatible `union`s are now available.][42068] [RFC 1444] They can only
contain `Copy` types and cannot have a `Drop` implementation.
Example: `union Foo { bar: u8, baz: usize }`
+ [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
+ [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
+ [Change `arm-linux-androideabi` to correspond to the `armeabi`
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
you should use `--target armv7-linux-androideabi`.
+ [Fixed ICE when removing a source file between compilation sessions.][41873]
+ [Minor optimisation of string operations.][42037]
+ [Compiler error message is now `aborting due to previous error(s)` instead of
`aborting due to N previous errors`][42150] This was previously inaccurate and
would only count certain kinds of errors.
+ [The compiler now supports Visual Studio 2017][42225]
+ [The compiler is now built against LLVM 4.0.1 by default][42948]
+ [Added a lot][42264] of [new error codes][42302]
+ [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
libraries with C Run-time Libraries(CRT) to be statically linked.
+ [Fixed various ARM codegen bugs][42740]
- Librarie updates:
+ [`String` now implements `FromIterator<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][41258]
+ [`SplitWhitespace` now implements `Clone`][41659]
+ [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
1.5x faster][41764]
+ [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
macros, but for printing to stderr.
- Stabilized APIs
+ [`OsString::shrink_to_fit`]
+ [`cmp::Reverse`]
+ [`Command::envs`]
+ [`thread::ThreadId`]
- Misc
+ [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
Windows Debugger.
+ [Rust will now release XZ compressed packages][rust-installer/57]
+ [rustup will now prefer to download rust packages with
XZ compression][rustup/1100] over GZip packages.
+ [Added the ability to escape `#` in rust documentation][41785] By adding
additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
+ [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
make the item visible to just that module tree. Also accepts the keyword
`crate` to make something public to the whole crate but not users of the
library. Example: `pub(crate) mod utils;`. [RFC 1422].
+ [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
`/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
+ [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
types like `Write + Send`, trailing `+` are now supported in trait objects,
and better error reporting for trait objects starting with `?Sized`.
+ [0e+10 is now a valid floating point literal][40589]
+ [Now warns if you bind a lifetime parameter to 'static][40734]
+ [Tuples, Enum variant fields, and structs with no `repr` attribute or with
`#[repr(Rust)]` are reordered to minimize padding and produce a smaller
representation in some cases.][40377]
-Compiler updates
+ [rustc can now emit mir with `--emit mir`][39891]
+ [Improved LLVM IR for trivial functions][40367]
+ [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
+ [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
opportunities found through profiling
+ [Improved backtrace formatting when panicking][38165]
- Library updates:
+ [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
iterator hasn't been advanced the original `Vec` is reassembled with no actual
iteration or reallocation.
+ [Simplified HashMap Bucket interface][40561] provides performance
improvements for iterating and cloning.
+ [Specialize Vec::from_elem to use calloc][40409]
+ [Fixed Race condition in fs::create_dir_all][39799]
+ [No longer caching stdio on Windows][40516]
+ [Optimized insertion sort in slice][40807] insertion sort in some cases
2.50%~ faster and in one case now 12.50% faster.
+ [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
+ [`Child::try_wait`]
+ [`HashMap::retain`]
+ [`HashSet::retain`]
+ [`PeekMut::pop`]
+ [`TcpStream::peek`]
+ [`UdpSocket::peek`]
- Misc:
+ [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
+ [Added rust-winbg script for better debugging on Windows][39983]
+ [Rust now uses the official cross compiler for NetBSD][40612]
+ [rustdoc now accepts `#` at the start of files][40828]
+ [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
+ [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
always placed after the sign if it exists and before the digits. With the `#`
flag the zeroes are placed after the prefix and before the digits.
+ [Due to the struct field optimisation][40377], using `transmute` on structs
that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
always been undefined behavior, but is now more likely to break in practice.
+ [The refactor of trait object type parsing][40043] fixed a bug where `+` was
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
+ [Overlapping inherent `impl`s are now a hard error][40728]
+ [`PartialOrd` and `Ord` must agree on the ordering.][41270]
+ [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
`out.asm` and `out.ll` instead of only one of the filetypes.
+ [ calling a function that returns `Self` will no longer work][41805] when
the size of `Self` cannot be statically determined.
+ [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
this has caused a few regressions namely:
+ Changed the link order of local static/dynamic libraries (respecting the
order on given rather than having the compiler reorder).
+ Changed how MinGW is linked, native code linked to dynamic libraries
may require manually linking to the gcc support library (for the native
code itself)
- Adjustment of rust version dependency to prevent inability to
build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Updates to libraries
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
stable compiler
- Update to 1.16.0
- Language updates
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Library updates
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc fixes
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in
openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
stable. This allows popular code-generating crates like Serde and Diesel to
work ergonomically. [RFC 1681].
* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
with curly braces][36868]. Part of [RFC 1506].
* [A number of minor changes to name resolution have been activated][37127].
They add up to more consistent semantics, allowing for future evolution of
Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
details of what is different. The breaking changes here have been transitioned
through the [`legacy_imports`] lint since 1.14, with no known regressions.
* [In `macro_rules`, `path` fragments can now be parsed as type parameter
bounds][38279]
* [`?Sized` can be used in `where` clauses][37791]
* [There is now a limit on the size of monomorphized types and it can be
modified with the `#![type_size_limit]` crate attribute, similarly to
the `#![recursion_limit]` attribute][37789]
- Compiler changes
* [On Windows, the compiler will apply dllimport attributes when linking to
extern functions][37973]. Additional attributes and flags can control which
library kind is linked and its name. [RFC 1717].
* [Rust-ABI symbols are no longer exported from cdylibs][38117]
* [The `--test` flag works with procedural macro crates][38107]
* [Fix `extern "aapcs" fn` ABI][37814]
* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
* [The `format!` expander recognizes incorrect `printf` and shell-style
formatting directives and suggests the correct format][37613].
* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
* [Don't clone in `UnificationTable::probe`][37848]
* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
* [Use small vectors in type walker][37760]
* [Macro expansion performance was improved][37701]
* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
* [Replace FNV with a faster hash function][37229]
- For full change list, please see
https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
+ appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
packaged versions haven't successfully built in the past
- Update to version 1.14.0
+ Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+ Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
+ support for RFC 1492. This small addition lets you use `..`
in more places, for example when destructuring a struct or tuple
+ println!(), with no arguments, prints newline
+ Wrapping impls standard binary and unary operators on
references, as well as the Sum and Product iterators, making
references to these types easier to use
+ Implement From<Cow<str>> for String and From<Cow<[T]>> for
Vec<T>. These implementations make sense, but were not yet added.
+ Expand .zip() specialization to .map() and .cloned() for
improved performance.
+ Implement RefUnwindSafe for atomic types, as these types are
“unwind safe,” though that wasn’t obvious at first.
+ Specialize Vec::extend to Vec::extend_from_slice for
performance gains.
+ Don’t reuse HashMap random seeds. This helps to mitigate one
type of DDoS attack.
+ The internal memory layout of HashMap is more cache-friendly,
for significant improvements in some operations
+ Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
+ 0003-Disable-embedding-timestamp-information.patch - fixed
by upstream
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative
packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
* fix armv6 and armv7 builds
- Update to 1.11
+ Add support for cdylib crate types
- Remove merged patches:
* 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
* 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
* Add add-soname.patch
- Move to package named rust
- Update to 1.10
+ -C panic=abort flag for rustc or equivalent in Cargo.toml
+ new crate type cdylib, embeded library for other languages
+ In addition, a number of performance improvements landed in
the compiler, and so did a number of usability improvements
across the documentation, rustdoc itself, and various error
messages.
+ This is the first release, which is guaranteed to be built
by previous stable release of rustc
- Packaging:
+ drop bootstrap mode and use rustc 1.9
+ move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
simple ldconfig calls. Drop archaic %clean section.
Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards.
- Rename source package to rustc-190 to avoid unecessary rebuilds
of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
+ Stabilization of std::panic
+ Deprecation warnings, #[deprecated] attribute
+ Compile time improvements
+ Rolling out use of specialization
+ Library stabilizations
About 80 library functions and methods are now stable in 1.
+ http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
+ Various “operator equals” operators, such as += and -=, are now
overloadable via various traits.
+ Empty struct declaration can contain cutly braces
+ New (non default) cargo based build system for rustc
+ About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
+ Many stabilized APIs
+ Improved library performance
+ BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
+ LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
+ str::replace now accepts a Pattern, like other string searching methods.
+ Any is implemented for unsized types.
+ Hash is implemented for Duration.
+ Soundness fixes, may break code. See RFC 1214 for more information.
+ Several bugs in the compiler's visibility calculations were fixed.
+ Parsing "." as a float results in an error instead of 0.
+ Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
+ Stabilization of libcore and other library functions
+ Crates.io disallows wildcards
- Update to version 1.4.0:
+ Several changes have been made to fix type soundness and improve the
behavior of associated types. See RFC 1214. Although we have mostly
introduced these changes as warnings this release, to become errors next
release, there are still some scenarios that will see immediate breakage.
+ The str::lines and BufRead::lines iterators treat \r\n as line breaks in
addition to \n.
+ Loans of 'static lifetime extend to the end of a function.
+ str::parse no longer introduces avoidable rounding error when parsing
floating point numbers. Together with earlier changes to float
formatting/output, "round trips" like f.to_string().parse() now preserve
the value of f exactly. Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
+ API stabilization, including the new Duration API and
enhancements to Error and Hash/Hasher.
+ The substring matcher now uses a more efficient algorithm.
+ There were improvements to zero filling that speed up
Vec::resize and Read::read_to_end.
+ The implementation of Read::read_to_end has been specialized
for stdin and File, resulting in additional speedups.
+ The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
+ An across-the-board improvement to real-world compiler performance.
Representative crates include hyper (compiles 1.16x faster), html5ever
(1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
can explore some of this performance data at Nick Cameron’s preliminary
tracking site, using dates 2015-05-15 to 2015-06-25.
+ Parallel codegen is now working, and produces a 33% speedup when
bootstrapping on a 4 core machine. Parallel codegen is particularly useful
for debug builds, since it prevents some optimizations; but it can also be
used with optimizations as an effective -O1 flag. It can be activated
by passing -C codegen-units=N to rustc, where N is the desired number
of threads.
- Update to version 1.1.0:
+ The std::fs module has been expanded to expand the set of
functionality exposed:
* DirEntry now supports optimizations like file_type and
metadata which don't incur a syscall on some platforms.
* A symlink_metadata function has been added.
* The fs::Metadata structure now lowers to its OS counterpart,
providing access to all underlying information.
+ The compiler now contains extended explanations of many errors.
When an error with an explanation occurs the compiler suggests
using the --explain flag to read the explanation. Error
explanations are also available online.
+ Thanks to multiple improvements to type checking, as well as other
work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
+ lint: deny transmuting from immutable to mutable, since it's undefined behavior
+ std: update select internals to not use mutable transmuting
+ std: Remove index notation on slice iterators
+ std: Destabilize io::BufStream
+ Make RwLock::try_write try to obtain a write lock
+ std: Remove addition on vectors for now
+ thread: right now you can't actually set those printers
+ Fix #24872, XSS in docs not found page.
+ Update AUTHORS.txt and RELEASES.md for 1.0
+ std: Mark `mem::forget` as a safe function
+ core: impl AsRef<[u8]> for str
+ collections: impl AsRef<[u8]> for String
+ collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
+ Fix invalid references due to the automated string substitution
+ dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
+ Introduce a `FreeRegionMap` data structure. (#22779)
+ Fix #20616
+ std: Fix inheriting standard handles on windows
+ Fix #24895.
+ Fix zero-normalization of the pos of a `MultiByteChar`.
+ lint for mixing `#[repr(C)]` with an impl of `Drop`.
+ Bump prerelease version to .4
+ Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
+ Update Windows caveats
+ Utilize if..let for get_mut doc-comment examples
+ Indicate keywords are code-like in Fuse::reset_fuse doc comment
+ doc: improve/fix 'let' FAQ
+ Fix broken links in the docs
+ Indicate None is code-like in doc comments
+ Fixed typo in hash_map::Entry documentation
+ Remove an unused import on windows
- Version 1.0.0-beta3.
OBS-URL: https://build.opensuse.org/request/show/520946
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=116
2017-09-05 03:10:50 +02:00
|
|
|
%global rust_arch %{_arch}
|
2017-02-06 10:07:11 +01:00
|
|
|
%global abi gnu
|
|
|
|
%ifarch armv7hl
|
Accepting request 520946 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.20.0
- Remove x86 from build targets
- Language
+ [Associated constants are now stabilised.][42809]
+ [A lot of macro bugs are now fixed.][42913]
- Compiler
+ [Struct fields are now properly coerced to the expected field type.][42807]
+ [Enabled wasm LLVM backend][42571] WASM can now be built with the
`wasm32-experimental-emscripten` target.
+ [Changed some of the error messages to be more helpful.][42033]
+ [Add support for RELRO(RELocation Read-Only) for platforms that support
it.][43170]
+ [rustc now reports the total number of errors on compilation failure][43015]
previously this was only the number of errors in the pass that failed.
+ [Expansion in rustc has been sped up 29x.][42533]
+ [added `msp430-none-elf` target.][43099]
+ [rustc will now suggest one-argument enum variant to fix type mismatch when
applicable][43178]
+ [Fixes backtraces on Redox][43228]
+ [rustc now identifies different versions of same crate when absolute paths of
different types match in an error message.][42826]
- Libraries
+ [Relaxed Debug constraints on `{HashMap,BTreeMap}::{Keys,Values}`.][42854]
+ [Impl `PartialEq`, `Eq`, `PartialOrd`, `Ord`, `Debug`, `Hash` for unsized
tuples.][43011]
+ [Impl `fmt::{Display, Debug}` for `Ref`, `RefMut`, `MutexGuard`,
`RwLockReadGuard`, `RwLockWriteGuard`][42822]
+ [Impl `Clone` for `DefaultHasher`.][42799]
+ [Impl `Sync` for `SyncSender`.][42397]
+ [Impl `FromStr` for `char`][42271]
+ [Fixed how `{f32, f64}::{is_sign_negative, is_sign_positive}` handles
NaN.][42431]
+ [allow messages in the `unimplemented!()` macro.][42155]
ie. `unimplemented!("Waiting for 1.21 to be stable")`
+ [`pub(restricted)` is now supported in the `thread_local!` macro.][43185]
+ [Upgrade to Unicode 10.0.0][42999]
+ [Reimplemented `{f32, f64}::{min, max}` in Rust instead of using CMath.][42430]
+ [Skip the main thread's manual stack guard on Linux][43072]
+ [Iterator::nth for `ops::{Range, RangeFrom}` is now done in O(1) time][43077]
+ [`#[repr(align(N))]` attribute max number is now 2^31 + 1.][43097] This was
previously 2^15.
+ [`{OsStr, Path}::Display` now avoids allocations where possible][42613]
- Compatibility Notes
+ [Functions with `'static` in their return types will now not be as usable as
if they were using lifetime parameters instead.][42417]
+ [The reimplementation of `{f32, f64}::is_sign_{negative, positive}` now
takes the sign of NaN into account where previously didn't.][42430]
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
+ [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
+ [Macro recursion limit increased to 1024 from 64.][41676]
+ [Added lint for detecting unused macros.][41907]
+ [`loop` can now return a value with `break`.][42016] [RFC 1624]
For example: `let x = loop { break 7; };`
+ [C compatible `union`s are now available.][42068] [RFC 1444] They can only
contain `Copy` types and cannot have a `Drop` implementation.
Example: `union Foo { bar: u8, baz: usize }`
+ [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
+ [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
+ [Change `arm-linux-androideabi` to correspond to the `armeabi`
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
you should use `--target armv7-linux-androideabi`.
+ [Fixed ICE when removing a source file between compilation sessions.][41873]
+ [Minor optimisation of string operations.][42037]
+ [Compiler error message is now `aborting due to previous error(s)` instead of
`aborting due to N previous errors`][42150] This was previously inaccurate and
would only count certain kinds of errors.
+ [The compiler now supports Visual Studio 2017][42225]
+ [The compiler is now built against LLVM 4.0.1 by default][42948]
+ [Added a lot][42264] of [new error codes][42302]
+ [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
libraries with C Run-time Libraries(CRT) to be statically linked.
+ [Fixed various ARM codegen bugs][42740]
- Librarie updates:
+ [`String` now implements `FromIterator<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][41258]
+ [`SplitWhitespace` now implements `Clone`][41659]
+ [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
1.5x faster][41764]
+ [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
macros, but for printing to stderr.
- Stabilized APIs
+ [`OsString::shrink_to_fit`]
+ [`cmp::Reverse`]
+ [`Command::envs`]
+ [`thread::ThreadId`]
- Misc
+ [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
Windows Debugger.
+ [Rust will now release XZ compressed packages][rust-installer/57]
+ [rustup will now prefer to download rust packages with
XZ compression][rustup/1100] over GZip packages.
+ [Added the ability to escape `#` in rust documentation][41785] By adding
additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
+ [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
make the item visible to just that module tree. Also accepts the keyword
`crate` to make something public to the whole crate but not users of the
library. Example: `pub(crate) mod utils;`. [RFC 1422].
+ [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
`/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
+ [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
types like `Write + Send`, trailing `+` are now supported in trait objects,
and better error reporting for trait objects starting with `?Sized`.
+ [0e+10 is now a valid floating point literal][40589]
+ [Now warns if you bind a lifetime parameter to 'static][40734]
+ [Tuples, Enum variant fields, and structs with no `repr` attribute or with
`#[repr(Rust)]` are reordered to minimize padding and produce a smaller
representation in some cases.][40377]
-Compiler updates
+ [rustc can now emit mir with `--emit mir`][39891]
+ [Improved LLVM IR for trivial functions][40367]
+ [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
+ [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
opportunities found through profiling
+ [Improved backtrace formatting when panicking][38165]
- Library updates:
+ [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
iterator hasn't been advanced the original `Vec` is reassembled with no actual
iteration or reallocation.
+ [Simplified HashMap Bucket interface][40561] provides performance
improvements for iterating and cloning.
+ [Specialize Vec::from_elem to use calloc][40409]
+ [Fixed Race condition in fs::create_dir_all][39799]
+ [No longer caching stdio on Windows][40516]
+ [Optimized insertion sort in slice][40807] insertion sort in some cases
2.50%~ faster and in one case now 12.50% faster.
+ [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
+ [`Child::try_wait`]
+ [`HashMap::retain`]
+ [`HashSet::retain`]
+ [`PeekMut::pop`]
+ [`TcpStream::peek`]
+ [`UdpSocket::peek`]
- Misc:
+ [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
+ [Added rust-winbg script for better debugging on Windows][39983]
+ [Rust now uses the official cross compiler for NetBSD][40612]
+ [rustdoc now accepts `#` at the start of files][40828]
+ [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
+ [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
always placed after the sign if it exists and before the digits. With the `#`
flag the zeroes are placed after the prefix and before the digits.
+ [Due to the struct field optimisation][40377], using `transmute` on structs
that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
always been undefined behavior, but is now more likely to break in practice.
+ [The refactor of trait object type parsing][40043] fixed a bug where `+` was
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
+ [Overlapping inherent `impl`s are now a hard error][40728]
+ [`PartialOrd` and `Ord` must agree on the ordering.][41270]
+ [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
`out.asm` and `out.ll` instead of only one of the filetypes.
+ [ calling a function that returns `Self` will no longer work][41805] when
the size of `Self` cannot be statically determined.
+ [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
this has caused a few regressions namely:
+ Changed the link order of local static/dynamic libraries (respecting the
order on given rather than having the compiler reorder).
+ Changed how MinGW is linked, native code linked to dynamic libraries
may require manually linking to the gcc support library (for the native
code itself)
- Adjustment of rust version dependency to prevent inability to
build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Updates to libraries
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
stable compiler
- Update to 1.16.0
- Language updates
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Library updates
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc fixes
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in
openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
stable. This allows popular code-generating crates like Serde and Diesel to
work ergonomically. [RFC 1681].
* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
with curly braces][36868]. Part of [RFC 1506].
* [A number of minor changes to name resolution have been activated][37127].
They add up to more consistent semantics, allowing for future evolution of
Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
details of what is different. The breaking changes here have been transitioned
through the [`legacy_imports`] lint since 1.14, with no known regressions.
* [In `macro_rules`, `path` fragments can now be parsed as type parameter
bounds][38279]
* [`?Sized` can be used in `where` clauses][37791]
* [There is now a limit on the size of monomorphized types and it can be
modified with the `#![type_size_limit]` crate attribute, similarly to
the `#![recursion_limit]` attribute][37789]
- Compiler changes
* [On Windows, the compiler will apply dllimport attributes when linking to
extern functions][37973]. Additional attributes and flags can control which
library kind is linked and its name. [RFC 1717].
* [Rust-ABI symbols are no longer exported from cdylibs][38117]
* [The `--test` flag works with procedural macro crates][38107]
* [Fix `extern "aapcs" fn` ABI][37814]
* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
* [The `format!` expander recognizes incorrect `printf` and shell-style
formatting directives and suggests the correct format][37613].
* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
* [Don't clone in `UnificationTable::probe`][37848]
* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
* [Use small vectors in type walker][37760]
* [Macro expansion performance was improved][37701]
* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
* [Replace FNV with a faster hash function][37229]
- For full change list, please see
https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
+ appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
packaged versions haven't successfully built in the past
- Update to version 1.14.0
+ Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+ Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
+ support for RFC 1492. This small addition lets you use `..`
in more places, for example when destructuring a struct or tuple
+ println!(), with no arguments, prints newline
+ Wrapping impls standard binary and unary operators on
references, as well as the Sum and Product iterators, making
references to these types easier to use
+ Implement From<Cow<str>> for String and From<Cow<[T]>> for
Vec<T>. These implementations make sense, but were not yet added.
+ Expand .zip() specialization to .map() and .cloned() for
improved performance.
+ Implement RefUnwindSafe for atomic types, as these types are
“unwind safe,” though that wasn’t obvious at first.
+ Specialize Vec::extend to Vec::extend_from_slice for
performance gains.
+ Don’t reuse HashMap random seeds. This helps to mitigate one
type of DDoS attack.
+ The internal memory layout of HashMap is more cache-friendly,
for significant improvements in some operations
+ Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
+ 0003-Disable-embedding-timestamp-information.patch - fixed
by upstream
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative
packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
* fix armv6 and armv7 builds
- Update to 1.11
+ Add support for cdylib crate types
- Remove merged patches:
* 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
* 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
* Add add-soname.patch
- Move to package named rust
- Update to 1.10
+ -C panic=abort flag for rustc or equivalent in Cargo.toml
+ new crate type cdylib, embeded library for other languages
+ In addition, a number of performance improvements landed in
the compiler, and so did a number of usability improvements
across the documentation, rustdoc itself, and various error
messages.
+ This is the first release, which is guaranteed to be built
by previous stable release of rustc
- Packaging:
+ drop bootstrap mode and use rustc 1.9
+ move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
simple ldconfig calls. Drop archaic %clean section.
Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards.
- Rename source package to rustc-190 to avoid unecessary rebuilds
of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
+ Stabilization of std::panic
+ Deprecation warnings, #[deprecated] attribute
+ Compile time improvements
+ Rolling out use of specialization
+ Library stabilizations
About 80 library functions and methods are now stable in 1.
+ http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
+ Various “operator equals” operators, such as += and -=, are now
overloadable via various traits.
+ Empty struct declaration can contain cutly braces
+ New (non default) cargo based build system for rustc
+ About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
+ Many stabilized APIs
+ Improved library performance
+ BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
+ LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
+ str::replace now accepts a Pattern, like other string searching methods.
+ Any is implemented for unsized types.
+ Hash is implemented for Duration.
+ Soundness fixes, may break code. See RFC 1214 for more information.
+ Several bugs in the compiler's visibility calculations were fixed.
+ Parsing "." as a float results in an error instead of 0.
+ Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
+ Stabilization of libcore and other library functions
+ Crates.io disallows wildcards
- Update to version 1.4.0:
+ Several changes have been made to fix type soundness and improve the
behavior of associated types. See RFC 1214. Although we have mostly
introduced these changes as warnings this release, to become errors next
release, there are still some scenarios that will see immediate breakage.
+ The str::lines and BufRead::lines iterators treat \r\n as line breaks in
addition to \n.
+ Loans of 'static lifetime extend to the end of a function.
+ str::parse no longer introduces avoidable rounding error when parsing
floating point numbers. Together with earlier changes to float
formatting/output, "round trips" like f.to_string().parse() now preserve
the value of f exactly. Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
+ API stabilization, including the new Duration API and
enhancements to Error and Hash/Hasher.
+ The substring matcher now uses a more efficient algorithm.
+ There were improvements to zero filling that speed up
Vec::resize and Read::read_to_end.
+ The implementation of Read::read_to_end has been specialized
for stdin and File, resulting in additional speedups.
+ The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
+ An across-the-board improvement to real-world compiler performance.
Representative crates include hyper (compiles 1.16x faster), html5ever
(1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
can explore some of this performance data at Nick Cameron’s preliminary
tracking site, using dates 2015-05-15 to 2015-06-25.
+ Parallel codegen is now working, and produces a 33% speedup when
bootstrapping on a 4 core machine. Parallel codegen is particularly useful
for debug builds, since it prevents some optimizations; but it can also be
used with optimizations as an effective -O1 flag. It can be activated
by passing -C codegen-units=N to rustc, where N is the desired number
of threads.
- Update to version 1.1.0:
+ The std::fs module has been expanded to expand the set of
functionality exposed:
* DirEntry now supports optimizations like file_type and
metadata which don't incur a syscall on some platforms.
* A symlink_metadata function has been added.
* The fs::Metadata structure now lowers to its OS counterpart,
providing access to all underlying information.
+ The compiler now contains extended explanations of many errors.
When an error with an explanation occurs the compiler suggests
using the --explain flag to read the explanation. Error
explanations are also available online.
+ Thanks to multiple improvements to type checking, as well as other
work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
+ lint: deny transmuting from immutable to mutable, since it's undefined behavior
+ std: update select internals to not use mutable transmuting
+ std: Remove index notation on slice iterators
+ std: Destabilize io::BufStream
+ Make RwLock::try_write try to obtain a write lock
+ std: Remove addition on vectors for now
+ thread: right now you can't actually set those printers
+ Fix #24872, XSS in docs not found page.
+ Update AUTHORS.txt and RELEASES.md for 1.0
+ std: Mark `mem::forget` as a safe function
+ core: impl AsRef<[u8]> for str
+ collections: impl AsRef<[u8]> for String
+ collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
+ Fix invalid references due to the automated string substitution
+ dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
+ Introduce a `FreeRegionMap` data structure. (#22779)
+ Fix #20616
+ std: Fix inheriting standard handles on windows
+ Fix #24895.
+ Fix zero-normalization of the pos of a `MultiByteChar`.
+ lint for mixing `#[repr(C)]` with an impl of `Drop`.
+ Bump prerelease version to .4
+ Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
+ Update Windows caveats
+ Utilize if..let for get_mut doc-comment examples
+ Indicate keywords are code-like in Fuse::reset_fuse doc comment
+ doc: improve/fix 'let' FAQ
+ Fix broken links in the docs
+ Indicate None is code-like in doc comments
+ Fixed typo in hash_map::Entry documentation
+ Remove an unused import on windows
- Version 1.0.0-beta3.
OBS-URL: https://build.opensuse.org/request/show/520946
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=116
2017-09-05 03:10:50 +02:00
|
|
|
%global rust_arch armv7
|
2017-02-06 10:07:11 +01:00
|
|
|
%global abi gnueabihf
|
|
|
|
%endif
|
2017-11-26 01:27:34 +01:00
|
|
|
%ifarch armv6hl
|
|
|
|
%global rust_arch arm
|
|
|
|
%global abi gnueabihf
|
|
|
|
%endif
|
2017-02-06 10:07:11 +01:00
|
|
|
%ifarch ppc64
|
Accepting request 520946 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.20.0
- Remove x86 from build targets
- Language
+ [Associated constants are now stabilised.][42809]
+ [A lot of macro bugs are now fixed.][42913]
- Compiler
+ [Struct fields are now properly coerced to the expected field type.][42807]
+ [Enabled wasm LLVM backend][42571] WASM can now be built with the
`wasm32-experimental-emscripten` target.
+ [Changed some of the error messages to be more helpful.][42033]
+ [Add support for RELRO(RELocation Read-Only) for platforms that support
it.][43170]
+ [rustc now reports the total number of errors on compilation failure][43015]
previously this was only the number of errors in the pass that failed.
+ [Expansion in rustc has been sped up 29x.][42533]
+ [added `msp430-none-elf` target.][43099]
+ [rustc will now suggest one-argument enum variant to fix type mismatch when
applicable][43178]
+ [Fixes backtraces on Redox][43228]
+ [rustc now identifies different versions of same crate when absolute paths of
different types match in an error message.][42826]
- Libraries
+ [Relaxed Debug constraints on `{HashMap,BTreeMap}::{Keys,Values}`.][42854]
+ [Impl `PartialEq`, `Eq`, `PartialOrd`, `Ord`, `Debug`, `Hash` for unsized
tuples.][43011]
+ [Impl `fmt::{Display, Debug}` for `Ref`, `RefMut`, `MutexGuard`,
`RwLockReadGuard`, `RwLockWriteGuard`][42822]
+ [Impl `Clone` for `DefaultHasher`.][42799]
+ [Impl `Sync` for `SyncSender`.][42397]
+ [Impl `FromStr` for `char`][42271]
+ [Fixed how `{f32, f64}::{is_sign_negative, is_sign_positive}` handles
NaN.][42431]
+ [allow messages in the `unimplemented!()` macro.][42155]
ie. `unimplemented!("Waiting for 1.21 to be stable")`
+ [`pub(restricted)` is now supported in the `thread_local!` macro.][43185]
+ [Upgrade to Unicode 10.0.0][42999]
+ [Reimplemented `{f32, f64}::{min, max}` in Rust instead of using CMath.][42430]
+ [Skip the main thread's manual stack guard on Linux][43072]
+ [Iterator::nth for `ops::{Range, RangeFrom}` is now done in O(1) time][43077]
+ [`#[repr(align(N))]` attribute max number is now 2^31 + 1.][43097] This was
previously 2^15.
+ [`{OsStr, Path}::Display` now avoids allocations where possible][42613]
- Compatibility Notes
+ [Functions with `'static` in their return types will now not be as usable as
if they were using lifetime parameters instead.][42417]
+ [The reimplementation of `{f32, f64}::is_sign_{negative, positive}` now
takes the sign of NaN into account where previously didn't.][42430]
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
+ [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
+ [Macro recursion limit increased to 1024 from 64.][41676]
+ [Added lint for detecting unused macros.][41907]
+ [`loop` can now return a value with `break`.][42016] [RFC 1624]
For example: `let x = loop { break 7; };`
+ [C compatible `union`s are now available.][42068] [RFC 1444] They can only
contain `Copy` types and cannot have a `Drop` implementation.
Example: `union Foo { bar: u8, baz: usize }`
+ [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
+ [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
+ [Change `arm-linux-androideabi` to correspond to the `armeabi`
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
you should use `--target armv7-linux-androideabi`.
+ [Fixed ICE when removing a source file between compilation sessions.][41873]
+ [Minor optimisation of string operations.][42037]
+ [Compiler error message is now `aborting due to previous error(s)` instead of
`aborting due to N previous errors`][42150] This was previously inaccurate and
would only count certain kinds of errors.
+ [The compiler now supports Visual Studio 2017][42225]
+ [The compiler is now built against LLVM 4.0.1 by default][42948]
+ [Added a lot][42264] of [new error codes][42302]
+ [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
libraries with C Run-time Libraries(CRT) to be statically linked.
+ [Fixed various ARM codegen bugs][42740]
- Librarie updates:
+ [`String` now implements `FromIterator<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][41258]
+ [`SplitWhitespace` now implements `Clone`][41659]
+ [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
1.5x faster][41764]
+ [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
macros, but for printing to stderr.
- Stabilized APIs
+ [`OsString::shrink_to_fit`]
+ [`cmp::Reverse`]
+ [`Command::envs`]
+ [`thread::ThreadId`]
- Misc
+ [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
Windows Debugger.
+ [Rust will now release XZ compressed packages][rust-installer/57]
+ [rustup will now prefer to download rust packages with
XZ compression][rustup/1100] over GZip packages.
+ [Added the ability to escape `#` in rust documentation][41785] By adding
additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
+ [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
make the item visible to just that module tree. Also accepts the keyword
`crate` to make something public to the whole crate but not users of the
library. Example: `pub(crate) mod utils;`. [RFC 1422].
+ [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
`/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
+ [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
types like `Write + Send`, trailing `+` are now supported in trait objects,
and better error reporting for trait objects starting with `?Sized`.
+ [0e+10 is now a valid floating point literal][40589]
+ [Now warns if you bind a lifetime parameter to 'static][40734]
+ [Tuples, Enum variant fields, and structs with no `repr` attribute or with
`#[repr(Rust)]` are reordered to minimize padding and produce a smaller
representation in some cases.][40377]
-Compiler updates
+ [rustc can now emit mir with `--emit mir`][39891]
+ [Improved LLVM IR for trivial functions][40367]
+ [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
+ [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
opportunities found through profiling
+ [Improved backtrace formatting when panicking][38165]
- Library updates:
+ [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
iterator hasn't been advanced the original `Vec` is reassembled with no actual
iteration or reallocation.
+ [Simplified HashMap Bucket interface][40561] provides performance
improvements for iterating and cloning.
+ [Specialize Vec::from_elem to use calloc][40409]
+ [Fixed Race condition in fs::create_dir_all][39799]
+ [No longer caching stdio on Windows][40516]
+ [Optimized insertion sort in slice][40807] insertion sort in some cases
2.50%~ faster and in one case now 12.50% faster.
+ [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
+ [`Child::try_wait`]
+ [`HashMap::retain`]
+ [`HashSet::retain`]
+ [`PeekMut::pop`]
+ [`TcpStream::peek`]
+ [`UdpSocket::peek`]
- Misc:
+ [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
+ [Added rust-winbg script for better debugging on Windows][39983]
+ [Rust now uses the official cross compiler for NetBSD][40612]
+ [rustdoc now accepts `#` at the start of files][40828]
+ [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
+ [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
always placed after the sign if it exists and before the digits. With the `#`
flag the zeroes are placed after the prefix and before the digits.
+ [Due to the struct field optimisation][40377], using `transmute` on structs
that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
always been undefined behavior, but is now more likely to break in practice.
+ [The refactor of trait object type parsing][40043] fixed a bug where `+` was
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
+ [Overlapping inherent `impl`s are now a hard error][40728]
+ [`PartialOrd` and `Ord` must agree on the ordering.][41270]
+ [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
`out.asm` and `out.ll` instead of only one of the filetypes.
+ [ calling a function that returns `Self` will no longer work][41805] when
the size of `Self` cannot be statically determined.
+ [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
this has caused a few regressions namely:
+ Changed the link order of local static/dynamic libraries (respecting the
order on given rather than having the compiler reorder).
+ Changed how MinGW is linked, native code linked to dynamic libraries
may require manually linking to the gcc support library (for the native
code itself)
- Adjustment of rust version dependency to prevent inability to
build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Updates to libraries
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
stable compiler
- Update to 1.16.0
- Language updates
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Library updates
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc fixes
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in
openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
stable. This allows popular code-generating crates like Serde and Diesel to
work ergonomically. [RFC 1681].
* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
with curly braces][36868]. Part of [RFC 1506].
* [A number of minor changes to name resolution have been activated][37127].
They add up to more consistent semantics, allowing for future evolution of
Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
details of what is different. The breaking changes here have been transitioned
through the [`legacy_imports`] lint since 1.14, with no known regressions.
* [In `macro_rules`, `path` fragments can now be parsed as type parameter
bounds][38279]
* [`?Sized` can be used in `where` clauses][37791]
* [There is now a limit on the size of monomorphized types and it can be
modified with the `#![type_size_limit]` crate attribute, similarly to
the `#![recursion_limit]` attribute][37789]
- Compiler changes
* [On Windows, the compiler will apply dllimport attributes when linking to
extern functions][37973]. Additional attributes and flags can control which
library kind is linked and its name. [RFC 1717].
* [Rust-ABI symbols are no longer exported from cdylibs][38117]
* [The `--test` flag works with procedural macro crates][38107]
* [Fix `extern "aapcs" fn` ABI][37814]
* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
* [The `format!` expander recognizes incorrect `printf` and shell-style
formatting directives and suggests the correct format][37613].
* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
* [Don't clone in `UnificationTable::probe`][37848]
* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
* [Use small vectors in type walker][37760]
* [Macro expansion performance was improved][37701]
* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
* [Replace FNV with a faster hash function][37229]
- For full change list, please see
https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
+ appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
packaged versions haven't successfully built in the past
- Update to version 1.14.0
+ Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+ Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
+ support for RFC 1492. This small addition lets you use `..`
in more places, for example when destructuring a struct or tuple
+ println!(), with no arguments, prints newline
+ Wrapping impls standard binary and unary operators on
references, as well as the Sum and Product iterators, making
references to these types easier to use
+ Implement From<Cow<str>> for String and From<Cow<[T]>> for
Vec<T>. These implementations make sense, but were not yet added.
+ Expand .zip() specialization to .map() and .cloned() for
improved performance.
+ Implement RefUnwindSafe for atomic types, as these types are
“unwind safe,” though that wasn’t obvious at first.
+ Specialize Vec::extend to Vec::extend_from_slice for
performance gains.
+ Don’t reuse HashMap random seeds. This helps to mitigate one
type of DDoS attack.
+ The internal memory layout of HashMap is more cache-friendly,
for significant improvements in some operations
+ Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
+ 0003-Disable-embedding-timestamp-information.patch - fixed
by upstream
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative
packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
* fix armv6 and armv7 builds
- Update to 1.11
+ Add support for cdylib crate types
- Remove merged patches:
* 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
* 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
* Add add-soname.patch
- Move to package named rust
- Update to 1.10
+ -C panic=abort flag for rustc or equivalent in Cargo.toml
+ new crate type cdylib, embeded library for other languages
+ In addition, a number of performance improvements landed in
the compiler, and so did a number of usability improvements
across the documentation, rustdoc itself, and various error
messages.
+ This is the first release, which is guaranteed to be built
by previous stable release of rustc
- Packaging:
+ drop bootstrap mode and use rustc 1.9
+ move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
simple ldconfig calls. Drop archaic %clean section.
Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards.
- Rename source package to rustc-190 to avoid unecessary rebuilds
of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
+ Stabilization of std::panic
+ Deprecation warnings, #[deprecated] attribute
+ Compile time improvements
+ Rolling out use of specialization
+ Library stabilizations
About 80 library functions and methods are now stable in 1.
+ http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
+ Various “operator equals” operators, such as += and -=, are now
overloadable via various traits.
+ Empty struct declaration can contain cutly braces
+ New (non default) cargo based build system for rustc
+ About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
+ Many stabilized APIs
+ Improved library performance
+ BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
+ LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
+ str::replace now accepts a Pattern, like other string searching methods.
+ Any is implemented for unsized types.
+ Hash is implemented for Duration.
+ Soundness fixes, may break code. See RFC 1214 for more information.
+ Several bugs in the compiler's visibility calculations were fixed.
+ Parsing "." as a float results in an error instead of 0.
+ Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
+ Stabilization of libcore and other library functions
+ Crates.io disallows wildcards
- Update to version 1.4.0:
+ Several changes have been made to fix type soundness and improve the
behavior of associated types. See RFC 1214. Although we have mostly
introduced these changes as warnings this release, to become errors next
release, there are still some scenarios that will see immediate breakage.
+ The str::lines and BufRead::lines iterators treat \r\n as line breaks in
addition to \n.
+ Loans of 'static lifetime extend to the end of a function.
+ str::parse no longer introduces avoidable rounding error when parsing
floating point numbers. Together with earlier changes to float
formatting/output, "round trips" like f.to_string().parse() now preserve
the value of f exactly. Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
+ API stabilization, including the new Duration API and
enhancements to Error and Hash/Hasher.
+ The substring matcher now uses a more efficient algorithm.
+ There were improvements to zero filling that speed up
Vec::resize and Read::read_to_end.
+ The implementation of Read::read_to_end has been specialized
for stdin and File, resulting in additional speedups.
+ The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
+ An across-the-board improvement to real-world compiler performance.
Representative crates include hyper (compiles 1.16x faster), html5ever
(1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
can explore some of this performance data at Nick Cameron’s preliminary
tracking site, using dates 2015-05-15 to 2015-06-25.
+ Parallel codegen is now working, and produces a 33% speedup when
bootstrapping on a 4 core machine. Parallel codegen is particularly useful
for debug builds, since it prevents some optimizations; but it can also be
used with optimizations as an effective -O1 flag. It can be activated
by passing -C codegen-units=N to rustc, where N is the desired number
of threads.
- Update to version 1.1.0:
+ The std::fs module has been expanded to expand the set of
functionality exposed:
* DirEntry now supports optimizations like file_type and
metadata which don't incur a syscall on some platforms.
* A symlink_metadata function has been added.
* The fs::Metadata structure now lowers to its OS counterpart,
providing access to all underlying information.
+ The compiler now contains extended explanations of many errors.
When an error with an explanation occurs the compiler suggests
using the --explain flag to read the explanation. Error
explanations are also available online.
+ Thanks to multiple improvements to type checking, as well as other
work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
+ lint: deny transmuting from immutable to mutable, since it's undefined behavior
+ std: update select internals to not use mutable transmuting
+ std: Remove index notation on slice iterators
+ std: Destabilize io::BufStream
+ Make RwLock::try_write try to obtain a write lock
+ std: Remove addition on vectors for now
+ thread: right now you can't actually set those printers
+ Fix #24872, XSS in docs not found page.
+ Update AUTHORS.txt and RELEASES.md for 1.0
+ std: Mark `mem::forget` as a safe function
+ core: impl AsRef<[u8]> for str
+ collections: impl AsRef<[u8]> for String
+ collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
+ Fix invalid references due to the automated string substitution
+ dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
+ Introduce a `FreeRegionMap` data structure. (#22779)
+ Fix #20616
+ std: Fix inheriting standard handles on windows
+ Fix #24895.
+ Fix zero-normalization of the pos of a `MultiByteChar`.
+ lint for mixing `#[repr(C)]` with an impl of `Drop`.
+ Bump prerelease version to .4
+ Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
+ Update Windows caveats
+ Utilize if..let for get_mut doc-comment examples
+ Indicate keywords are code-like in Fuse::reset_fuse doc comment
+ doc: improve/fix 'let' FAQ
+ Fix broken links in the docs
+ Indicate None is code-like in doc comments
+ Fixed typo in hash_map::Entry documentation
+ Remove an unused import on windows
- Version 1.0.0-beta3.
OBS-URL: https://build.opensuse.org/request/show/520946
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=116
2017-09-05 03:10:50 +02:00
|
|
|
%global rust_arch powerpc64
|
2017-02-06 10:07:11 +01:00
|
|
|
%endif
|
|
|
|
%ifarch ppc64le
|
Accepting request 520946 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.20.0
- Remove x86 from build targets
- Language
+ [Associated constants are now stabilised.][42809]
+ [A lot of macro bugs are now fixed.][42913]
- Compiler
+ [Struct fields are now properly coerced to the expected field type.][42807]
+ [Enabled wasm LLVM backend][42571] WASM can now be built with the
`wasm32-experimental-emscripten` target.
+ [Changed some of the error messages to be more helpful.][42033]
+ [Add support for RELRO(RELocation Read-Only) for platforms that support
it.][43170]
+ [rustc now reports the total number of errors on compilation failure][43015]
previously this was only the number of errors in the pass that failed.
+ [Expansion in rustc has been sped up 29x.][42533]
+ [added `msp430-none-elf` target.][43099]
+ [rustc will now suggest one-argument enum variant to fix type mismatch when
applicable][43178]
+ [Fixes backtraces on Redox][43228]
+ [rustc now identifies different versions of same crate when absolute paths of
different types match in an error message.][42826]
- Libraries
+ [Relaxed Debug constraints on `{HashMap,BTreeMap}::{Keys,Values}`.][42854]
+ [Impl `PartialEq`, `Eq`, `PartialOrd`, `Ord`, `Debug`, `Hash` for unsized
tuples.][43011]
+ [Impl `fmt::{Display, Debug}` for `Ref`, `RefMut`, `MutexGuard`,
`RwLockReadGuard`, `RwLockWriteGuard`][42822]
+ [Impl `Clone` for `DefaultHasher`.][42799]
+ [Impl `Sync` for `SyncSender`.][42397]
+ [Impl `FromStr` for `char`][42271]
+ [Fixed how `{f32, f64}::{is_sign_negative, is_sign_positive}` handles
NaN.][42431]
+ [allow messages in the `unimplemented!()` macro.][42155]
ie. `unimplemented!("Waiting for 1.21 to be stable")`
+ [`pub(restricted)` is now supported in the `thread_local!` macro.][43185]
+ [Upgrade to Unicode 10.0.0][42999]
+ [Reimplemented `{f32, f64}::{min, max}` in Rust instead of using CMath.][42430]
+ [Skip the main thread's manual stack guard on Linux][43072]
+ [Iterator::nth for `ops::{Range, RangeFrom}` is now done in O(1) time][43077]
+ [`#[repr(align(N))]` attribute max number is now 2^31 + 1.][43097] This was
previously 2^15.
+ [`{OsStr, Path}::Display` now avoids allocations where possible][42613]
- Compatibility Notes
+ [Functions with `'static` in their return types will now not be as usable as
if they were using lifetime parameters instead.][42417]
+ [The reimplementation of `{f32, f64}::is_sign_{negative, positive}` now
takes the sign of NaN into account where previously didn't.][42430]
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
+ [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
+ [Macro recursion limit increased to 1024 from 64.][41676]
+ [Added lint for detecting unused macros.][41907]
+ [`loop` can now return a value with `break`.][42016] [RFC 1624]
For example: `let x = loop { break 7; };`
+ [C compatible `union`s are now available.][42068] [RFC 1444] They can only
contain `Copy` types and cannot have a `Drop` implementation.
Example: `union Foo { bar: u8, baz: usize }`
+ [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
+ [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
+ [Change `arm-linux-androideabi` to correspond to the `armeabi`
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
you should use `--target armv7-linux-androideabi`.
+ [Fixed ICE when removing a source file between compilation sessions.][41873]
+ [Minor optimisation of string operations.][42037]
+ [Compiler error message is now `aborting due to previous error(s)` instead of
`aborting due to N previous errors`][42150] This was previously inaccurate and
would only count certain kinds of errors.
+ [The compiler now supports Visual Studio 2017][42225]
+ [The compiler is now built against LLVM 4.0.1 by default][42948]
+ [Added a lot][42264] of [new error codes][42302]
+ [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
libraries with C Run-time Libraries(CRT) to be statically linked.
+ [Fixed various ARM codegen bugs][42740]
- Librarie updates:
+ [`String` now implements `FromIterator<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][41258]
+ [`SplitWhitespace` now implements `Clone`][41659]
+ [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
1.5x faster][41764]
+ [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
macros, but for printing to stderr.
- Stabilized APIs
+ [`OsString::shrink_to_fit`]
+ [`cmp::Reverse`]
+ [`Command::envs`]
+ [`thread::ThreadId`]
- Misc
+ [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
Windows Debugger.
+ [Rust will now release XZ compressed packages][rust-installer/57]
+ [rustup will now prefer to download rust packages with
XZ compression][rustup/1100] over GZip packages.
+ [Added the ability to escape `#` in rust documentation][41785] By adding
additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
+ [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
make the item visible to just that module tree. Also accepts the keyword
`crate` to make something public to the whole crate but not users of the
library. Example: `pub(crate) mod utils;`. [RFC 1422].
+ [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
`/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
+ [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
types like `Write + Send`, trailing `+` are now supported in trait objects,
and better error reporting for trait objects starting with `?Sized`.
+ [0e+10 is now a valid floating point literal][40589]
+ [Now warns if you bind a lifetime parameter to 'static][40734]
+ [Tuples, Enum variant fields, and structs with no `repr` attribute or with
`#[repr(Rust)]` are reordered to minimize padding and produce a smaller
representation in some cases.][40377]
-Compiler updates
+ [rustc can now emit mir with `--emit mir`][39891]
+ [Improved LLVM IR for trivial functions][40367]
+ [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
+ [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
opportunities found through profiling
+ [Improved backtrace formatting when panicking][38165]
- Library updates:
+ [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
iterator hasn't been advanced the original `Vec` is reassembled with no actual
iteration or reallocation.
+ [Simplified HashMap Bucket interface][40561] provides performance
improvements for iterating and cloning.
+ [Specialize Vec::from_elem to use calloc][40409]
+ [Fixed Race condition in fs::create_dir_all][39799]
+ [No longer caching stdio on Windows][40516]
+ [Optimized insertion sort in slice][40807] insertion sort in some cases
2.50%~ faster and in one case now 12.50% faster.
+ [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
+ [`Child::try_wait`]
+ [`HashMap::retain`]
+ [`HashSet::retain`]
+ [`PeekMut::pop`]
+ [`TcpStream::peek`]
+ [`UdpSocket::peek`]
- Misc:
+ [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
+ [Added rust-winbg script for better debugging on Windows][39983]
+ [Rust now uses the official cross compiler for NetBSD][40612]
+ [rustdoc now accepts `#` at the start of files][40828]
+ [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
+ [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
always placed after the sign if it exists and before the digits. With the `#`
flag the zeroes are placed after the prefix and before the digits.
+ [Due to the struct field optimisation][40377], using `transmute` on structs
that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
always been undefined behavior, but is now more likely to break in practice.
+ [The refactor of trait object type parsing][40043] fixed a bug where `+` was
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
+ [Overlapping inherent `impl`s are now a hard error][40728]
+ [`PartialOrd` and `Ord` must agree on the ordering.][41270]
+ [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
`out.asm` and `out.ll` instead of only one of the filetypes.
+ [ calling a function that returns `Self` will no longer work][41805] when
the size of `Self` cannot be statically determined.
+ [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
this has caused a few regressions namely:
+ Changed the link order of local static/dynamic libraries (respecting the
order on given rather than having the compiler reorder).
+ Changed how MinGW is linked, native code linked to dynamic libraries
may require manually linking to the gcc support library (for the native
code itself)
- Adjustment of rust version dependency to prevent inability to
build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Updates to libraries
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
stable compiler
- Update to 1.16.0
- Language updates
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Library updates
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc fixes
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in
openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
stable. This allows popular code-generating crates like Serde and Diesel to
work ergonomically. [RFC 1681].
* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
with curly braces][36868]. Part of [RFC 1506].
* [A number of minor changes to name resolution have been activated][37127].
They add up to more consistent semantics, allowing for future evolution of
Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
details of what is different. The breaking changes here have been transitioned
through the [`legacy_imports`] lint since 1.14, with no known regressions.
* [In `macro_rules`, `path` fragments can now be parsed as type parameter
bounds][38279]
* [`?Sized` can be used in `where` clauses][37791]
* [There is now a limit on the size of monomorphized types and it can be
modified with the `#![type_size_limit]` crate attribute, similarly to
the `#![recursion_limit]` attribute][37789]
- Compiler changes
* [On Windows, the compiler will apply dllimport attributes when linking to
extern functions][37973]. Additional attributes and flags can control which
library kind is linked and its name. [RFC 1717].
* [Rust-ABI symbols are no longer exported from cdylibs][38117]
* [The `--test` flag works with procedural macro crates][38107]
* [Fix `extern "aapcs" fn` ABI][37814]
* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
* [The `format!` expander recognizes incorrect `printf` and shell-style
formatting directives and suggests the correct format][37613].
* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
* [Don't clone in `UnificationTable::probe`][37848]
* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
* [Use small vectors in type walker][37760]
* [Macro expansion performance was improved][37701]
* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
* [Replace FNV with a faster hash function][37229]
- For full change list, please see
https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
+ appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
packaged versions haven't successfully built in the past
- Update to version 1.14.0
+ Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+ Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
+ support for RFC 1492. This small addition lets you use `..`
in more places, for example when destructuring a struct or tuple
+ println!(), with no arguments, prints newline
+ Wrapping impls standard binary and unary operators on
references, as well as the Sum and Product iterators, making
references to these types easier to use
+ Implement From<Cow<str>> for String and From<Cow<[T]>> for
Vec<T>. These implementations make sense, but were not yet added.
+ Expand .zip() specialization to .map() and .cloned() for
improved performance.
+ Implement RefUnwindSafe for atomic types, as these types are
“unwind safe,” though that wasn’t obvious at first.
+ Specialize Vec::extend to Vec::extend_from_slice for
performance gains.
+ Don’t reuse HashMap random seeds. This helps to mitigate one
type of DDoS attack.
+ The internal memory layout of HashMap is more cache-friendly,
for significant improvements in some operations
+ Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
+ 0003-Disable-embedding-timestamp-information.patch - fixed
by upstream
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative
packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
* fix armv6 and armv7 builds
- Update to 1.11
+ Add support for cdylib crate types
- Remove merged patches:
* 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
* 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
* Add add-soname.patch
- Move to package named rust
- Update to 1.10
+ -C panic=abort flag for rustc or equivalent in Cargo.toml
+ new crate type cdylib, embeded library for other languages
+ In addition, a number of performance improvements landed in
the compiler, and so did a number of usability improvements
across the documentation, rustdoc itself, and various error
messages.
+ This is the first release, which is guaranteed to be built
by previous stable release of rustc
- Packaging:
+ drop bootstrap mode and use rustc 1.9
+ move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
simple ldconfig calls. Drop archaic %clean section.
Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards.
- Rename source package to rustc-190 to avoid unecessary rebuilds
of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
+ Stabilization of std::panic
+ Deprecation warnings, #[deprecated] attribute
+ Compile time improvements
+ Rolling out use of specialization
+ Library stabilizations
About 80 library functions and methods are now stable in 1.
+ http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
+ Various “operator equals” operators, such as += and -=, are now
overloadable via various traits.
+ Empty struct declaration can contain cutly braces
+ New (non default) cargo based build system for rustc
+ About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
+ Many stabilized APIs
+ Improved library performance
+ BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
+ LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
+ str::replace now accepts a Pattern, like other string searching methods.
+ Any is implemented for unsized types.
+ Hash is implemented for Duration.
+ Soundness fixes, may break code. See RFC 1214 for more information.
+ Several bugs in the compiler's visibility calculations were fixed.
+ Parsing "." as a float results in an error instead of 0.
+ Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
+ Stabilization of libcore and other library functions
+ Crates.io disallows wildcards
- Update to version 1.4.0:
+ Several changes have been made to fix type soundness and improve the
behavior of associated types. See RFC 1214. Although we have mostly
introduced these changes as warnings this release, to become errors next
release, there are still some scenarios that will see immediate breakage.
+ The str::lines and BufRead::lines iterators treat \r\n as line breaks in
addition to \n.
+ Loans of 'static lifetime extend to the end of a function.
+ str::parse no longer introduces avoidable rounding error when parsing
floating point numbers. Together with earlier changes to float
formatting/output, "round trips" like f.to_string().parse() now preserve
the value of f exactly. Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
+ API stabilization, including the new Duration API and
enhancements to Error and Hash/Hasher.
+ The substring matcher now uses a more efficient algorithm.
+ There were improvements to zero filling that speed up
Vec::resize and Read::read_to_end.
+ The implementation of Read::read_to_end has been specialized
for stdin and File, resulting in additional speedups.
+ The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
+ An across-the-board improvement to real-world compiler performance.
Representative crates include hyper (compiles 1.16x faster), html5ever
(1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
can explore some of this performance data at Nick Cameron’s preliminary
tracking site, using dates 2015-05-15 to 2015-06-25.
+ Parallel codegen is now working, and produces a 33% speedup when
bootstrapping on a 4 core machine. Parallel codegen is particularly useful
for debug builds, since it prevents some optimizations; but it can also be
used with optimizations as an effective -O1 flag. It can be activated
by passing -C codegen-units=N to rustc, where N is the desired number
of threads.
- Update to version 1.1.0:
+ The std::fs module has been expanded to expand the set of
functionality exposed:
* DirEntry now supports optimizations like file_type and
metadata which don't incur a syscall on some platforms.
* A symlink_metadata function has been added.
* The fs::Metadata structure now lowers to its OS counterpart,
providing access to all underlying information.
+ The compiler now contains extended explanations of many errors.
When an error with an explanation occurs the compiler suggests
using the --explain flag to read the explanation. Error
explanations are also available online.
+ Thanks to multiple improvements to type checking, as well as other
work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
+ lint: deny transmuting from immutable to mutable, since it's undefined behavior
+ std: update select internals to not use mutable transmuting
+ std: Remove index notation on slice iterators
+ std: Destabilize io::BufStream
+ Make RwLock::try_write try to obtain a write lock
+ std: Remove addition on vectors for now
+ thread: right now you can't actually set those printers
+ Fix #24872, XSS in docs not found page.
+ Update AUTHORS.txt and RELEASES.md for 1.0
+ std: Mark `mem::forget` as a safe function
+ core: impl AsRef<[u8]> for str
+ collections: impl AsRef<[u8]> for String
+ collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
+ Fix invalid references due to the automated string substitution
+ dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
+ Introduce a `FreeRegionMap` data structure. (#22779)
+ Fix #20616
+ std: Fix inheriting standard handles on windows
+ Fix #24895.
+ Fix zero-normalization of the pos of a `MultiByteChar`.
+ lint for mixing `#[repr(C)]` with an impl of `Drop`.
+ Bump prerelease version to .4
+ Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
+ Update Windows caveats
+ Utilize if..let for get_mut doc-comment examples
+ Indicate keywords are code-like in Fuse::reset_fuse doc comment
+ doc: improve/fix 'let' FAQ
+ Fix broken links in the docs
+ Indicate None is code-like in doc comments
+ Fixed typo in hash_map::Entry documentation
+ Remove an unused import on windows
- Version 1.0.0-beta3.
OBS-URL: https://build.opensuse.org/request/show/520946
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=116
2017-09-05 03:10:50 +02:00
|
|
|
%global rust_arch powerpc64le
|
2017-02-06 10:07:11 +01:00
|
|
|
%endif
|
2017-10-16 22:40:01 +02:00
|
|
|
# Must restrict the x86 build to i686 since i586 is currently unsupported
|
2018-01-24 07:37:34 +01:00
|
|
|
%ifarch %{ix86}
|
2017-10-16 22:40:01 +02:00
|
|
|
%global rust_arch i686
|
|
|
|
%endif
|
Accepting request 520946 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.20.0
- Remove x86 from build targets
- Language
+ [Associated constants are now stabilised.][42809]
+ [A lot of macro bugs are now fixed.][42913]
- Compiler
+ [Struct fields are now properly coerced to the expected field type.][42807]
+ [Enabled wasm LLVM backend][42571] WASM can now be built with the
`wasm32-experimental-emscripten` target.
+ [Changed some of the error messages to be more helpful.][42033]
+ [Add support for RELRO(RELocation Read-Only) for platforms that support
it.][43170]
+ [rustc now reports the total number of errors on compilation failure][43015]
previously this was only the number of errors in the pass that failed.
+ [Expansion in rustc has been sped up 29x.][42533]
+ [added `msp430-none-elf` target.][43099]
+ [rustc will now suggest one-argument enum variant to fix type mismatch when
applicable][43178]
+ [Fixes backtraces on Redox][43228]
+ [rustc now identifies different versions of same crate when absolute paths of
different types match in an error message.][42826]
- Libraries
+ [Relaxed Debug constraints on `{HashMap,BTreeMap}::{Keys,Values}`.][42854]
+ [Impl `PartialEq`, `Eq`, `PartialOrd`, `Ord`, `Debug`, `Hash` for unsized
tuples.][43011]
+ [Impl `fmt::{Display, Debug}` for `Ref`, `RefMut`, `MutexGuard`,
`RwLockReadGuard`, `RwLockWriteGuard`][42822]
+ [Impl `Clone` for `DefaultHasher`.][42799]
+ [Impl `Sync` for `SyncSender`.][42397]
+ [Impl `FromStr` for `char`][42271]
+ [Fixed how `{f32, f64}::{is_sign_negative, is_sign_positive}` handles
NaN.][42431]
+ [allow messages in the `unimplemented!()` macro.][42155]
ie. `unimplemented!("Waiting for 1.21 to be stable")`
+ [`pub(restricted)` is now supported in the `thread_local!` macro.][43185]
+ [Upgrade to Unicode 10.0.0][42999]
+ [Reimplemented `{f32, f64}::{min, max}` in Rust instead of using CMath.][42430]
+ [Skip the main thread's manual stack guard on Linux][43072]
+ [Iterator::nth for `ops::{Range, RangeFrom}` is now done in O(1) time][43077]
+ [`#[repr(align(N))]` attribute max number is now 2^31 + 1.][43097] This was
previously 2^15.
+ [`{OsStr, Path}::Display` now avoids allocations where possible][42613]
- Compatibility Notes
+ [Functions with `'static` in their return types will now not be as usable as
if they were using lifetime parameters instead.][42417]
+ [The reimplementation of `{f32, f64}::is_sign_{negative, positive}` now
takes the sign of NaN into account where previously didn't.][42430]
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
+ [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
+ [Macro recursion limit increased to 1024 from 64.][41676]
+ [Added lint for detecting unused macros.][41907]
+ [`loop` can now return a value with `break`.][42016] [RFC 1624]
For example: `let x = loop { break 7; };`
+ [C compatible `union`s are now available.][42068] [RFC 1444] They can only
contain `Copy` types and cannot have a `Drop` implementation.
Example: `union Foo { bar: u8, baz: usize }`
+ [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
+ [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
+ [Change `arm-linux-androideabi` to correspond to the `armeabi`
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
you should use `--target armv7-linux-androideabi`.
+ [Fixed ICE when removing a source file between compilation sessions.][41873]
+ [Minor optimisation of string operations.][42037]
+ [Compiler error message is now `aborting due to previous error(s)` instead of
`aborting due to N previous errors`][42150] This was previously inaccurate and
would only count certain kinds of errors.
+ [The compiler now supports Visual Studio 2017][42225]
+ [The compiler is now built against LLVM 4.0.1 by default][42948]
+ [Added a lot][42264] of [new error codes][42302]
+ [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
libraries with C Run-time Libraries(CRT) to be statically linked.
+ [Fixed various ARM codegen bugs][42740]
- Librarie updates:
+ [`String` now implements `FromIterator<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][41258]
+ [`SplitWhitespace` now implements `Clone`][41659]
+ [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
1.5x faster][41764]
+ [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
macros, but for printing to stderr.
- Stabilized APIs
+ [`OsString::shrink_to_fit`]
+ [`cmp::Reverse`]
+ [`Command::envs`]
+ [`thread::ThreadId`]
- Misc
+ [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
Windows Debugger.
+ [Rust will now release XZ compressed packages][rust-installer/57]
+ [rustup will now prefer to download rust packages with
XZ compression][rustup/1100] over GZip packages.
+ [Added the ability to escape `#` in rust documentation][41785] By adding
additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
+ [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
make the item visible to just that module tree. Also accepts the keyword
`crate` to make something public to the whole crate but not users of the
library. Example: `pub(crate) mod utils;`. [RFC 1422].
+ [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
`/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
+ [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
types like `Write + Send`, trailing `+` are now supported in trait objects,
and better error reporting for trait objects starting with `?Sized`.
+ [0e+10 is now a valid floating point literal][40589]
+ [Now warns if you bind a lifetime parameter to 'static][40734]
+ [Tuples, Enum variant fields, and structs with no `repr` attribute or with
`#[repr(Rust)]` are reordered to minimize padding and produce a smaller
representation in some cases.][40377]
-Compiler updates
+ [rustc can now emit mir with `--emit mir`][39891]
+ [Improved LLVM IR for trivial functions][40367]
+ [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
+ [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
opportunities found through profiling
+ [Improved backtrace formatting when panicking][38165]
- Library updates:
+ [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
iterator hasn't been advanced the original `Vec` is reassembled with no actual
iteration or reallocation.
+ [Simplified HashMap Bucket interface][40561] provides performance
improvements for iterating and cloning.
+ [Specialize Vec::from_elem to use calloc][40409]
+ [Fixed Race condition in fs::create_dir_all][39799]
+ [No longer caching stdio on Windows][40516]
+ [Optimized insertion sort in slice][40807] insertion sort in some cases
2.50%~ faster and in one case now 12.50% faster.
+ [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
+ [`Child::try_wait`]
+ [`HashMap::retain`]
+ [`HashSet::retain`]
+ [`PeekMut::pop`]
+ [`TcpStream::peek`]
+ [`UdpSocket::peek`]
- Misc:
+ [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
+ [Added rust-winbg script for better debugging on Windows][39983]
+ [Rust now uses the official cross compiler for NetBSD][40612]
+ [rustdoc now accepts `#` at the start of files][40828]
+ [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
+ [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
always placed after the sign if it exists and before the digits. With the `#`
flag the zeroes are placed after the prefix and before the digits.
+ [Due to the struct field optimisation][40377], using `transmute` on structs
that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
always been undefined behavior, but is now more likely to break in practice.
+ [The refactor of trait object type parsing][40043] fixed a bug where `+` was
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
+ [Overlapping inherent `impl`s are now a hard error][40728]
+ [`PartialOrd` and `Ord` must agree on the ordering.][41270]
+ [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
`out.asm` and `out.ll` instead of only one of the filetypes.
+ [ calling a function that returns `Self` will no longer work][41805] when
the size of `Self` cannot be statically determined.
+ [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
this has caused a few regressions namely:
+ Changed the link order of local static/dynamic libraries (respecting the
order on given rather than having the compiler reorder).
+ Changed how MinGW is linked, native code linked to dynamic libraries
may require manually linking to the gcc support library (for the native
code itself)
- Adjustment of rust version dependency to prevent inability to
build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Updates to libraries
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
stable compiler
- Update to 1.16.0
- Language updates
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Library updates
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc fixes
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in
openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
stable. This allows popular code-generating crates like Serde and Diesel to
work ergonomically. [RFC 1681].
* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
with curly braces][36868]. Part of [RFC 1506].
* [A number of minor changes to name resolution have been activated][37127].
They add up to more consistent semantics, allowing for future evolution of
Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
details of what is different. The breaking changes here have been transitioned
through the [`legacy_imports`] lint since 1.14, with no known regressions.
* [In `macro_rules`, `path` fragments can now be parsed as type parameter
bounds][38279]
* [`?Sized` can be used in `where` clauses][37791]
* [There is now a limit on the size of monomorphized types and it can be
modified with the `#![type_size_limit]` crate attribute, similarly to
the `#![recursion_limit]` attribute][37789]
- Compiler changes
* [On Windows, the compiler will apply dllimport attributes when linking to
extern functions][37973]. Additional attributes and flags can control which
library kind is linked and its name. [RFC 1717].
* [Rust-ABI symbols are no longer exported from cdylibs][38117]
* [The `--test` flag works with procedural macro crates][38107]
* [Fix `extern "aapcs" fn` ABI][37814]
* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
* [The `format!` expander recognizes incorrect `printf` and shell-style
formatting directives and suggests the correct format][37613].
* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
* [Don't clone in `UnificationTable::probe`][37848]
* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
* [Use small vectors in type walker][37760]
* [Macro expansion performance was improved][37701]
* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
* [Replace FNV with a faster hash function][37229]
- For full change list, please see
https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
+ appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
packaged versions haven't successfully built in the past
- Update to version 1.14.0
+ Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+ Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
+ support for RFC 1492. This small addition lets you use `..`
in more places, for example when destructuring a struct or tuple
+ println!(), with no arguments, prints newline
+ Wrapping impls standard binary and unary operators on
references, as well as the Sum and Product iterators, making
references to these types easier to use
+ Implement From<Cow<str>> for String and From<Cow<[T]>> for
Vec<T>. These implementations make sense, but were not yet added.
+ Expand .zip() specialization to .map() and .cloned() for
improved performance.
+ Implement RefUnwindSafe for atomic types, as these types are
“unwind safe,” though that wasn’t obvious at first.
+ Specialize Vec::extend to Vec::extend_from_slice for
performance gains.
+ Don’t reuse HashMap random seeds. This helps to mitigate one
type of DDoS attack.
+ The internal memory layout of HashMap is more cache-friendly,
for significant improvements in some operations
+ Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
+ 0003-Disable-embedding-timestamp-information.patch - fixed
by upstream
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative
packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
* fix armv6 and armv7 builds
- Update to 1.11
+ Add support for cdylib crate types
- Remove merged patches:
* 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
* 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
* Add add-soname.patch
- Move to package named rust
- Update to 1.10
+ -C panic=abort flag for rustc or equivalent in Cargo.toml
+ new crate type cdylib, embeded library for other languages
+ In addition, a number of performance improvements landed in
the compiler, and so did a number of usability improvements
across the documentation, rustdoc itself, and various error
messages.
+ This is the first release, which is guaranteed to be built
by previous stable release of rustc
- Packaging:
+ drop bootstrap mode and use rustc 1.9
+ move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
simple ldconfig calls. Drop archaic %clean section.
Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards.
- Rename source package to rustc-190 to avoid unecessary rebuilds
of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
+ Stabilization of std::panic
+ Deprecation warnings, #[deprecated] attribute
+ Compile time improvements
+ Rolling out use of specialization
+ Library stabilizations
About 80 library functions and methods are now stable in 1.
+ http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
+ Various “operator equals” operators, such as += and -=, are now
overloadable via various traits.
+ Empty struct declaration can contain cutly braces
+ New (non default) cargo based build system for rustc
+ About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
+ Many stabilized APIs
+ Improved library performance
+ BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
+ LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
+ str::replace now accepts a Pattern, like other string searching methods.
+ Any is implemented for unsized types.
+ Hash is implemented for Duration.
+ Soundness fixes, may break code. See RFC 1214 for more information.
+ Several bugs in the compiler's visibility calculations were fixed.
+ Parsing "." as a float results in an error instead of 0.
+ Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
+ Stabilization of libcore and other library functions
+ Crates.io disallows wildcards
- Update to version 1.4.0:
+ Several changes have been made to fix type soundness and improve the
behavior of associated types. See RFC 1214. Although we have mostly
introduced these changes as warnings this release, to become errors next
release, there are still some scenarios that will see immediate breakage.
+ The str::lines and BufRead::lines iterators treat \r\n as line breaks in
addition to \n.
+ Loans of 'static lifetime extend to the end of a function.
+ str::parse no longer introduces avoidable rounding error when parsing
floating point numbers. Together with earlier changes to float
formatting/output, "round trips" like f.to_string().parse() now preserve
the value of f exactly. Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
+ API stabilization, including the new Duration API and
enhancements to Error and Hash/Hasher.
+ The substring matcher now uses a more efficient algorithm.
+ There were improvements to zero filling that speed up
Vec::resize and Read::read_to_end.
+ The implementation of Read::read_to_end has been specialized
for stdin and File, resulting in additional speedups.
+ The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
+ An across-the-board improvement to real-world compiler performance.
Representative crates include hyper (compiles 1.16x faster), html5ever
(1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
can explore some of this performance data at Nick Cameron’s preliminary
tracking site, using dates 2015-05-15 to 2015-06-25.
+ Parallel codegen is now working, and produces a 33% speedup when
bootstrapping on a 4 core machine. Parallel codegen is particularly useful
for debug builds, since it prevents some optimizations; but it can also be
used with optimizations as an effective -O1 flag. It can be activated
by passing -C codegen-units=N to rustc, where N is the desired number
of threads.
- Update to version 1.1.0:
+ The std::fs module has been expanded to expand the set of
functionality exposed:
* DirEntry now supports optimizations like file_type and
metadata which don't incur a syscall on some platforms.
* A symlink_metadata function has been added.
* The fs::Metadata structure now lowers to its OS counterpart,
providing access to all underlying information.
+ The compiler now contains extended explanations of many errors.
When an error with an explanation occurs the compiler suggests
using the --explain flag to read the explanation. Error
explanations are also available online.
+ Thanks to multiple improvements to type checking, as well as other
work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
+ lint: deny transmuting from immutable to mutable, since it's undefined behavior
+ std: update select internals to not use mutable transmuting
+ std: Remove index notation on slice iterators
+ std: Destabilize io::BufStream
+ Make RwLock::try_write try to obtain a write lock
+ std: Remove addition on vectors for now
+ thread: right now you can't actually set those printers
+ Fix #24872, XSS in docs not found page.
+ Update AUTHORS.txt and RELEASES.md for 1.0
+ std: Mark `mem::forget` as a safe function
+ core: impl AsRef<[u8]> for str
+ collections: impl AsRef<[u8]> for String
+ collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
+ Fix invalid references due to the automated string substitution
+ dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
+ Introduce a `FreeRegionMap` data structure. (#22779)
+ Fix #20616
+ std: Fix inheriting standard handles on windows
+ Fix #24895.
+ Fix zero-normalization of the pos of a `MultiByteChar`.
+ lint for mixing `#[repr(C)]` with an impl of `Drop`.
+ Bump prerelease version to .4
+ Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
+ Update Windows caveats
+ Utilize if..let for get_mut doc-comment examples
+ Indicate keywords are code-like in Fuse::reset_fuse doc comment
+ doc: improve/fix 'let' FAQ
+ Fix broken links in the docs
+ Indicate None is code-like in doc comments
+ Fixed typo in hash_map::Entry documentation
+ Remove an unused import on windows
- Version 1.0.0-beta3.
OBS-URL: https://build.opensuse.org/request/show/520946
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=116
2017-09-05 03:10:50 +02:00
|
|
|
%global rust_triple %{rust_arch}-unknown-linux-%{abi}
|
2017-04-28 05:15:42 +02:00
|
|
|
%global dl_url https://static.rust-lang.org/dist
|
2017-09-03 21:08:10 +02:00
|
|
|
%global common_libdir %{_prefix}/lib
|
|
|
|
%global rustlibdir %{common_libdir}/rustlib
|
2018-01-24 07:37:34 +01:00
|
|
|
%bcond_with rust_bootstrap
|
2017-03-28 04:38:57 +02:00
|
|
|
Name: rust
|
2018-05-13 17:55:39 +02:00
|
|
|
Version: 1.26.0
|
2016-09-06 18:11:34 +02:00
|
|
|
Release: 0
|
|
|
|
Summary: A systems programming language
|
2018-01-24 07:37:34 +01:00
|
|
|
License: MIT OR Apache-2.0
|
2016-09-06 18:11:34 +02:00
|
|
|
Group: Development/Languages/Other
|
2018-05-13 17:55:39 +02:00
|
|
|
URL: https://www.rust-lang.org
|
2017-04-28 05:42:51 +02:00
|
|
|
Source0: %{dl_url}/rustc-%{version}-src.tar.gz
|
2017-02-06 09:25:50 +01:00
|
|
|
Source1: config.toml
|
Accepting request 520549 from home:luke_nukem:branches:devel:languages:rust
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
+ [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
+ [Macro recursion limit increased to 1024 from 64.][41676]
+ [Added lint for detecting unused macros.][41907]
+ [`loop` can now return a value with `break`.][42016] [RFC 1624]
For example: `let x = loop { break 7; };`
+ [C compatible `union`s are now available.][42068] [RFC 1444] They can only
contain `Copy` types and cannot have a `Drop` implementation.
Example: `union Foo { bar: u8, baz: usize }`
+ [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
+ [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
+ [Change `arm-linux-androideabi` to correspond to the `armeabi`
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
you should use `--target armv7-linux-androideabi`.
+ [Fixed ICE when removing a source file between compilation sessions.][41873]
+ [Minor optimisation of string operations.][42037]
+ [Compiler error message is now `aborting due to previous error(s)` instead of
`aborting due to N previous errors`][42150] This was previously inaccurate and
would only count certain kinds of errors.
+ [The compiler now supports Visual Studio 2017][42225]
+ [The compiler is now built against LLVM 4.0.1 by default][42948]
+ [Added a lot][42264] of [new error codes][42302]
+ [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
libraries with C Run-time Libraries(CRT) to be statically linked.
+ [Fixed various ARM codegen bugs][42740]
- Librarie updates:
+ [`String` now implements `FromIterator<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][41258]
+ [`SplitWhitespace` now implements `Clone`][41659]
+ [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
1.5x faster][41764]
+ [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
macros, but for printing to stderr.
- Stabilized APIs
+ [`OsString::shrink_to_fit`]
+ [`cmp::Reverse`]
+ [`Command::envs`]
+ [`thread::ThreadId`]
- Misc
+ [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
Windows Debugger.
+ [Rust will now release XZ compressed packages][rust-installer/57]
+ [rustup will now prefer to download rust packages with
XZ compression][rustup/1100] over GZip packages.
+ [Added the ability to escape `#` in rust documentation][41785] By adding
additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
+ [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
make the item visible to just that module tree. Also accepts the keyword
`crate` to make something public to the whole crate but not users of the
library. Example: `pub(crate) mod utils;`. [RFC 1422].
+ [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
`/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
+ [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
types like `Write + Send`, trailing `+` are now supported in trait objects,
and better error reporting for trait objects starting with `?Sized`.
+ [0e+10 is now a valid floating point literal][40589]
+ [Now warns if you bind a lifetime parameter to 'static][40734]
+ [Tuples, Enum variant fields, and structs with no `repr` attribute or with
`#[repr(Rust)]` are reordered to minimize padding and produce a smaller
representation in some cases.][40377]
-Compiler updates
+ [rustc can now emit mir with `--emit mir`][39891]
+ [Improved LLVM IR for trivial functions][40367]
+ [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
+ [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
opportunities found through profiling
+ [Improved backtrace formatting when panicking][38165]
- Library updates:
+ [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
iterator hasn't been advanced the original `Vec` is reassembled with no actual
iteration or reallocation.
+ [Simplified HashMap Bucket interface][40561] provides performance
improvements for iterating and cloning.
+ [Specialize Vec::from_elem to use calloc][40409]
+ [Fixed Race condition in fs::create_dir_all][39799]
+ [No longer caching stdio on Windows][40516]
+ [Optimized insertion sort in slice][40807] insertion sort in some cases
2.50%~ faster and in one case now 12.50% faster.
+ [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
+ [`Child::try_wait`]
+ [`HashMap::retain`]
+ [`HashSet::retain`]
+ [`PeekMut::pop`]
+ [`TcpStream::peek`]
+ [`UdpSocket::peek`]
- Misc:
+ [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
+ [Added rust-winbg script for better debugging on Windows][39983]
+ [Rust now uses the official cross compiler for NetBSD][40612]
+ [rustdoc now accepts `#` at the start of files][40828]
+ [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
+ [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
always placed after the sign if it exists and before the digits. With the `#`
flag the zeroes are placed after the prefix and before the digits.
+ [Due to the struct field optimisation][40377], using `transmute` on structs
that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
always been undefined behavior, but is now more likely to break in practice.
+ [The refactor of trait object type parsing][40043] fixed a bug where `+` was
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
+ [Overlapping inherent `impl`s are now a hard error][40728]
+ [`PartialOrd` and `Ord` must agree on the ordering.][41270]
+ [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
`out.asm` and `out.ll` instead of only one of the filetypes.
+ [ calling a function that returns `Self` will no longer work][41805] when
the size of `Self` cannot be statically determined.
+ [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
this has caused a few regressions namely:
+ Changed the link order of local static/dynamic libraries (respecting the
order on given rather than having the compiler reorder).
+ Changed how MinGW is linked, native code linked to dynamic libraries
may require manually linking to the gcc support library (for the native
code itself)
- Adjustment of rust version dependency to prevent inability to
build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Updates to libraries
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
stable compiler
- Update to 1.16.0
- Language updates
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Library updates
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc fixes
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in
openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
stable. This allows popular code-generating crates like Serde and Diesel to
work ergonomically. [RFC 1681].
* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
with curly braces][36868]. Part of [RFC 1506].
* [A number of minor changes to name resolution have been activated][37127].
They add up to more consistent semantics, allowing for future evolution of
Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
details of what is different. The breaking changes here have been transitioned
through the [`legacy_imports`] lint since 1.14, with no known regressions.
* [In `macro_rules`, `path` fragments can now be parsed as type parameter
bounds][38279]
* [`?Sized` can be used in `where` clauses][37791]
* [There is now a limit on the size of monomorphized types and it can be
modified with the `#![type_size_limit]` crate attribute, similarly to
the `#![recursion_limit]` attribute][37789]
- Compiler changes
* [On Windows, the compiler will apply dllimport attributes when linking to
extern functions][37973]. Additional attributes and flags can control which
library kind is linked and its name. [RFC 1717].
* [Rust-ABI symbols are no longer exported from cdylibs][38117]
* [The `--test` flag works with procedural macro crates][38107]
* [Fix `extern "aapcs" fn` ABI][37814]
* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
* [The `format!` expander recognizes incorrect `printf` and shell-style
formatting directives and suggests the correct format][37613].
* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
* [Don't clone in `UnificationTable::probe`][37848]
* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
* [Use small vectors in type walker][37760]
* [Macro expansion performance was improved][37701]
* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
* [Replace FNV with a faster hash function][37229]
- For full change list, please see
https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
+ appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
packaged versions haven't successfully built in the past
- Update to version 1.14.0
+ Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+ Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
+ support for RFC 1492. This small addition lets you use `..`
in more places, for example when destructuring a struct or tuple
+ println!(), with no arguments, prints newline
+ Wrapping impls standard binary and unary operators on
references, as well as the Sum and Product iterators, making
references to these types easier to use
+ Implement From<Cow<str>> for String and From<Cow<[T]>> for
Vec<T>. These implementations make sense, but were not yet added.
+ Expand .zip() specialization to .map() and .cloned() for
improved performance.
+ Implement RefUnwindSafe for atomic types, as these types are
“unwind safe,” though that wasn’t obvious at first.
+ Specialize Vec::extend to Vec::extend_from_slice for
performance gains.
+ Don’t reuse HashMap random seeds. This helps to mitigate one
type of DDoS attack.
+ The internal memory layout of HashMap is more cache-friendly,
for significant improvements in some operations
+ Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
+ 0003-Disable-embedding-timestamp-information.patch - fixed
by upstream
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative
packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
* fix armv6 and armv7 builds
- Update to 1.11
+ Add support for cdylib crate types
- Remove merged patches:
* 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
* 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
* Add add-soname.patch
- Move to package named rust
- Update to 1.10
+ -C panic=abort flag for rustc or equivalent in Cargo.toml
+ new crate type cdylib, embeded library for other languages
+ In addition, a number of performance improvements landed in
the compiler, and so did a number of usability improvements
across the documentation, rustdoc itself, and various error
messages.
+ This is the first release, which is guaranteed to be built
by previous stable release of rustc
- Packaging:
+ drop bootstrap mode and use rustc 1.9
+ move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
simple ldconfig calls. Drop archaic %clean section.
Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards.
- Rename source package to rustc-190 to avoid unecessary rebuilds
of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
+ Stabilization of std::panic
+ Deprecation warnings, #[deprecated] attribute
+ Compile time improvements
+ Rolling out use of specialization
+ Library stabilizations
About 80 library functions and methods are now stable in 1.
+ http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
+ Various “operator equals” operators, such as += and -=, are now
overloadable via various traits.
+ Empty struct declaration can contain cutly braces
+ New (non default) cargo based build system for rustc
+ About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
+ Many stabilized APIs
+ Improved library performance
+ BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
+ LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
+ str::replace now accepts a Pattern, like other string searching methods.
+ Any is implemented for unsized types.
+ Hash is implemented for Duration.
+ Soundness fixes, may break code. See RFC 1214 for more information.
+ Several bugs in the compiler's visibility calculations were fixed.
+ Parsing "." as a float results in an error instead of 0.
+ Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
+ Stabilization of libcore and other library functions
+ Crates.io disallows wildcards
- Update to version 1.4.0:
+ Several changes have been made to fix type soundness and improve the
behavior of associated types. See RFC 1214. Although we have mostly
introduced these changes as warnings this release, to become errors next
release, there are still some scenarios that will see immediate breakage.
+ The str::lines and BufRead::lines iterators treat \r\n as line breaks in
addition to \n.
+ Loans of 'static lifetime extend to the end of a function.
+ str::parse no longer introduces avoidable rounding error when parsing
floating point numbers. Together with earlier changes to float
formatting/output, "round trips" like f.to_string().parse() now preserve
the value of f exactly. Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
+ API stabilization, including the new Duration API and
enhancements to Error and Hash/Hasher.
+ The substring matcher now uses a more efficient algorithm.
+ There were improvements to zero filling that speed up
Vec::resize and Read::read_to_end.
+ The implementation of Read::read_to_end has been specialized
for stdin and File, resulting in additional speedups.
+ The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
+ An across-the-board improvement to real-world compiler performance.
Representative crates include hyper (compiles 1.16x faster), html5ever
(1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
can explore some of this performance data at Nick Cameron’s preliminary
tracking site, using dates 2015-05-15 to 2015-06-25.
+ Parallel codegen is now working, and produces a 33% speedup when
bootstrapping on a 4 core machine. Parallel codegen is particularly useful
for debug builds, since it prevents some optimizations; but it can also be
used with optimizations as an effective -O1 flag. It can be activated
by passing -C codegen-units=N to rustc, where N is the desired number
of threads.
- Update to version 1.1.0:
+ The std::fs module has been expanded to expand the set of
functionality exposed:
* DirEntry now supports optimizations like file_type and
metadata which don't incur a syscall on some platforms.
* A symlink_metadata function has been added.
* The fs::Metadata structure now lowers to its OS counterpart,
providing access to all underlying information.
+ The compiler now contains extended explanations of many errors.
When an error with an explanation occurs the compiler suggests
using the --explain flag to read the explanation. Error
explanations are also available online.
+ Thanks to multiple improvements to type checking, as well as other
work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
+ lint: deny transmuting from immutable to mutable, since it's undefined behavior
+ std: update select internals to not use mutable transmuting
+ std: Remove index notation on slice iterators
+ std: Destabilize io::BufStream
+ Make RwLock::try_write try to obtain a write lock
+ std: Remove addition on vectors for now
+ thread: right now you can't actually set those printers
+ Fix #24872, XSS in docs not found page.
+ Update AUTHORS.txt and RELEASES.md for 1.0
+ std: Mark `mem::forget` as a safe function
+ core: impl AsRef<[u8]> for str
+ collections: impl AsRef<[u8]> for String
+ collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
+ Fix invalid references due to the automated string substitution
+ dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
+ Introduce a `FreeRegionMap` data structure. (#22779)
+ Fix #20616
+ std: Fix inheriting standard handles on windows
+ Fix #24895.
+ Fix zero-normalization of the pos of a `MultiByteChar`.
+ lint for mixing `#[repr(C)]` with an impl of `Drop`.
+ Bump prerelease version to .4
+ Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
+ Update Windows caveats
+ Utilize if..let for get_mut doc-comment examples
+ Indicate keywords are code-like in Fuse::reset_fuse doc comment
+ doc: improve/fix 'let' FAQ
+ Fix broken links in the docs
+ Indicate None is code-like in doc comments
+ Fixed typo in hash_map::Entry documentation
+ Remove an unused import on windows
- Version 1.0.0-beta3.
OBS-URL: https://build.opensuse.org/request/show/520549
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=114
2017-09-04 05:30:42 +02:00
|
|
|
Source99: %{name}-rpmlintrc
|
2017-04-30 08:28:06 +02:00
|
|
|
Source100: cargo-%{cargo_version}-x86_64-unknown-linux-gnu.tar.gz
|
|
|
|
Source101: cargo-%{cargo_version}-i686-unknown-linux-gnu.tar.gz
|
|
|
|
Source102: cargo-%{cargo_version}-aarch64-unknown-linux-gnu.tar.gz
|
|
|
|
Source103: cargo-%{cargo_version}-armv7-unknown-linux-gnueabihf.tar.gz
|
2017-11-26 01:27:34 +01:00
|
|
|
Source104: cargo-%{cargo_version}-arm-unknown-linux-gnueabihf.tar.gz
|
|
|
|
Source105: cargo-%{cargo_version}-powerpc64-unknown-linux-gnu.tar.gz
|
|
|
|
Source106: cargo-%{cargo_version}-powerpc64le-unknown-linux-gnu.tar.gz
|
|
|
|
Source107: cargo-%{cargo_version}-s390x-unknown-linux-gnu.tar.gz
|
2018-02-19 17:22:31 +01:00
|
|
|
Patch0: update-config-guess.patch
|
2016-10-24 09:34:54 +02:00
|
|
|
# PATCH-FIX-OPENSUSE: Set DT_SONAME when building dylibs
|
2017-03-22 04:21:12 +01:00
|
|
|
BuildRequires: ccache
|
2017-09-20 22:14:46 +02:00
|
|
|
BuildRequires: cmake >= 3.4.3
|
2016-09-06 18:11:34 +02:00
|
|
|
BuildRequires: curl
|
2018-01-24 07:37:34 +01:00
|
|
|
BuildRequires: fdupes
|
2016-12-18 01:34:00 +01:00
|
|
|
BuildRequires: gcc-c++
|
2017-02-06 09:25:50 +01:00
|
|
|
BuildRequires: llvm-devel
|
2017-03-22 04:21:12 +01:00
|
|
|
BuildRequires: ninja
|
2017-02-06 09:25:50 +01:00
|
|
|
BuildRequires: procps
|
2018-01-24 07:37:34 +01:00
|
|
|
BuildRequires: python3-base
|
2017-02-06 09:25:50 +01:00
|
|
|
Recommends: %{name}-doc
|
|
|
|
Recommends: %{name}-std
|
2018-01-24 07:37:34 +01:00
|
|
|
Recommends: cargo
|
|
|
|
Conflicts: rust
|
2018-05-13 17:55:39 +02:00
|
|
|
Conflicts: rustc-bootstrap
|
2017-02-14 03:26:36 +01:00
|
|
|
# Restrict the architectures as building rust relies on being initially
|
|
|
|
# bootstrapped before we can build the n+1 release
|
2018-01-24 07:37:34 +01:00
|
|
|
ExclusiveArch: x86_64 %{arm} aarch64 ppc64 ppc64le s390x %{ix86}
|
|
|
|
%ifarch %{ix86}
|
Accepting request 534605 from home:luke_nukem:branches:devel:languages:rust
- Update to 1.21.0
- Language changes:
+ You can now use static references for literals.
+ Relaxed path syntax. Optional `::` before `<` is now allowed in all contexts.
- Compiler changes:
+ Upgraded jemalloc to 4.5.0[43911]
+ Enabled unwinding panics on Redox[43917]
+ Now runs LLVM in parallel during translation phase.[43506]
- Librarie changes:
+ Generate builtin impls for `Clone` for all arrays and tuples that
are `T: Clone`[43690]
+`Stdin`, `Stdout`, and `Stderr` now implement `AsRawFd`.[43459]
+ `Rc` and `Arc` now implement `From<&[T]> where T: Clone`, `From<str>`,
`From<String>`, `From<Box<T>> where T: ?Sized`, and `From<Vec<T>>`.[42565]
- Stabilized APIs
+`std::mem::discriminant`
- Update add-soname.patch to apply cleanly
- Force enable rust bootstrap so that missing architectures build
- set minimum cmake version
- Update to version 1.20.0
- Remove x86 from build targets
- Language
+ [Associated constants are now stabilised.][42809]
+ [A lot of macro bugs are now fixed.][42913]
- Compiler
+ [Struct fields are now properly coerced to the expected field type.][42807]
+ [Enabled wasm LLVM backend][42571] WASM can now be built with the
`wasm32-experimental-emscripten` target.
+ [Changed some of the error messages to be more helpful.][42033]
+ [Add support for RELRO(RELocation Read-Only) for platforms that support
it.][43170]
+ [rustc now reports the total number of errors on compilation failure][43015]
previously this was only the number of errors in the pass that failed.
+ [Expansion in rustc has been sped up 29x.][42533]
+ [added `msp430-none-elf` target.][43099]
+ [rustc will now suggest one-argument enum variant to fix type mismatch when
applicable][43178]
+ [Fixes backtraces on Redox][43228]
+ [rustc now identifies different versions of same crate when absolute paths of
different types match in an error message.][42826]
- Libraries
+ [Relaxed Debug constraints on `{HashMap,BTreeMap}::{Keys,Values}`.][42854]
+ [Impl `PartialEq`, `Eq`, `PartialOrd`, `Ord`, `Debug`, `Hash` for unsized
tuples.][43011]
+ [Impl `fmt::{Display, Debug}` for `Ref`, `RefMut`, `MutexGuard`,
`RwLockReadGuard`, `RwLockWriteGuard`][42822]
+ [Impl `Clone` for `DefaultHasher`.][42799]
+ [Impl `Sync` for `SyncSender`.][42397]
+ [Impl `FromStr` for `char`][42271]
+ [Fixed how `{f32, f64}::{is_sign_negative, is_sign_positive}` handles
NaN.][42431]
+ [allow messages in the `unimplemented!()` macro.][42155]
ie. `unimplemented!("Waiting for 1.21 to be stable")`
+ [`pub(restricted)` is now supported in the `thread_local!` macro.][43185]
+ [Upgrade to Unicode 10.0.0][42999]
+ [Reimplemented `{f32, f64}::{min, max}` in Rust instead of using CMath.][42430]
+ [Skip the main thread's manual stack guard on Linux][43072]
+ [Iterator::nth for `ops::{Range, RangeFrom}` is now done in O(1) time][43077]
+ [`#[repr(align(N))]` attribute max number is now 2^31 + 1.][43097] This was
previously 2^15.
+ [`{OsStr, Path}::Display` now avoids allocations where possible][42613]
- Compatibility Notes
+ [Functions with `'static` in their return types will now not be as usable as
if they were using lifetime parameters instead.][42417]
+ [The reimplementation of `{f32, f64}::is_sign_{negative, positive}` now
takes the sign of NaN into account where previously didn't.][42430]
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
+ [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
+ [Macro recursion limit increased to 1024 from 64.][41676]
+ [Added lint for detecting unused macros.][41907]
+ [`loop` can now return a value with `break`.][42016] [RFC 1624]
For example: `let x = loop { break 7; };`
+ [C compatible `union`s are now available.][42068] [RFC 1444] They can only
contain `Copy` types and cannot have a `Drop` implementation.
Example: `union Foo { bar: u8, baz: usize }`
+ [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
+ [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
+ [Change `arm-linux-androideabi` to correspond to the `armeabi`
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
you should use `--target armv7-linux-androideabi`.
+ [Fixed ICE when removing a source file between compilation sessions.][41873]
+ [Minor optimisation of string operations.][42037]
+ [Compiler error message is now `aborting due to previous error(s)` instead of
`aborting due to N previous errors`][42150] This was previously inaccurate and
would only count certain kinds of errors.
+ [The compiler now supports Visual Studio 2017][42225]
+ [The compiler is now built against LLVM 4.0.1 by default][42948]
+ [Added a lot][42264] of [new error codes][42302]
+ [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
libraries with C Run-time Libraries(CRT) to be statically linked.
+ [Fixed various ARM codegen bugs][42740]
- Librarie updates:
+ [`String` now implements `FromIterator<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][41258]
+ [`SplitWhitespace` now implements `Clone`][41659]
+ [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
1.5x faster][41764]
+ [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
macros, but for printing to stderr.
- Stabilized APIs
+ [`OsString::shrink_to_fit`]
+ [`cmp::Reverse`]
+ [`Command::envs`]
+ [`thread::ThreadId`]
- Misc
+ [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
Windows Debugger.
+ [Rust will now release XZ compressed packages][rust-installer/57]
+ [rustup will now prefer to download rust packages with
XZ compression][rustup/1100] over GZip packages.
+ [Added the ability to escape `#` in rust documentation][41785] By adding
additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
+ [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
make the item visible to just that module tree. Also accepts the keyword
`crate` to make something public to the whole crate but not users of the
library. Example: `pub(crate) mod utils;`. [RFC 1422].
+ [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
`/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
+ [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
types like `Write + Send`, trailing `+` are now supported in trait objects,
and better error reporting for trait objects starting with `?Sized`.
+ [0e+10 is now a valid floating point literal][40589]
+ [Now warns if you bind a lifetime parameter to 'static][40734]
+ [Tuples, Enum variant fields, and structs with no `repr` attribute or with
`#[repr(Rust)]` are reordered to minimize padding and produce a smaller
representation in some cases.][40377]
-Compiler updates
+ [rustc can now emit mir with `--emit mir`][39891]
+ [Improved LLVM IR for trivial functions][40367]
+ [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
+ [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
opportunities found through profiling
+ [Improved backtrace formatting when panicking][38165]
- Library updates:
+ [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
iterator hasn't been advanced the original `Vec` is reassembled with no actual
iteration or reallocation.
+ [Simplified HashMap Bucket interface][40561] provides performance
improvements for iterating and cloning.
+ [Specialize Vec::from_elem to use calloc][40409]
+ [Fixed Race condition in fs::create_dir_all][39799]
+ [No longer caching stdio on Windows][40516]
+ [Optimized insertion sort in slice][40807] insertion sort in some cases
2.50%~ faster and in one case now 12.50% faster.
+ [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
+ [`Child::try_wait`]
+ [`HashMap::retain`]
+ [`HashSet::retain`]
+ [`PeekMut::pop`]
+ [`TcpStream::peek`]
+ [`UdpSocket::peek`]
- Misc:
+ [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
+ [Added rust-winbg script for better debugging on Windows][39983]
+ [Rust now uses the official cross compiler for NetBSD][40612]
+ [rustdoc now accepts `#` at the start of files][40828]
+ [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
+ [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
always placed after the sign if it exists and before the digits. With the `#`
flag the zeroes are placed after the prefix and before the digits.
+ [Due to the struct field optimisation][40377], using `transmute` on structs
that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
always been undefined behavior, but is now more likely to break in practice.
+ [The refactor of trait object type parsing][40043] fixed a bug where `+` was
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
+ [Overlapping inherent `impl`s are now a hard error][40728]
+ [`PartialOrd` and `Ord` must agree on the ordering.][41270]
+ [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
`out.asm` and `out.ll` instead of only one of the filetypes.
+ [ calling a function that returns `Self` will no longer work][41805] when
the size of `Self` cannot be statically determined.
+ [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
this has caused a few regressions namely:
+ Changed the link order of local static/dynamic libraries (respecting the
order on given rather than having the compiler reorder).
+ Changed how MinGW is linked, native code linked to dynamic libraries
may require manually linking to the gcc support library (for the native
code itself)
- Adjustment of rust version dependency to prevent inability to
build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Updates to libraries
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
stable compiler
- Update to 1.16.0
- Language updates
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Library updates
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc fixes
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in
openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
stable. This allows popular code-generating crates like Serde and Diesel to
work ergonomically. [RFC 1681].
* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
with curly braces][36868]. Part of [RFC 1506].
* [A number of minor changes to name resolution have been activated][37127].
They add up to more consistent semantics, allowing for future evolution of
Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
details of what is different. The breaking changes here have been transitioned
through the [`legacy_imports`] lint since 1.14, with no known regressions.
* [In `macro_rules`, `path` fragments can now be parsed as type parameter
bounds][38279]
* [`?Sized` can be used in `where` clauses][37791]
* [There is now a limit on the size of monomorphized types and it can be
modified with the `#![type_size_limit]` crate attribute, similarly to
the `#![recursion_limit]` attribute][37789]
- Compiler changes
* [On Windows, the compiler will apply dllimport attributes when linking to
extern functions][37973]. Additional attributes and flags can control which
library kind is linked and its name. [RFC 1717].
* [Rust-ABI symbols are no longer exported from cdylibs][38117]
* [The `--test` flag works with procedural macro crates][38107]
* [Fix `extern "aapcs" fn` ABI][37814]
* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
* [The `format!` expander recognizes incorrect `printf` and shell-style
formatting directives and suggests the correct format][37613].
* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
* [Don't clone in `UnificationTable::probe`][37848]
* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
* [Use small vectors in type walker][37760]
* [Macro expansion performance was improved][37701]
* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
* [Replace FNV with a faster hash function][37229]
- For full change list, please see
https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
+ appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
packaged versions haven't successfully built in the past
- Update to version 1.14.0
+ Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+ Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
+ support for RFC 1492. This small addition lets you use `..`
in more places, for example when destructuring a struct or tuple
+ println!(), with no arguments, prints newline
+ Wrapping impls standard binary and unary operators on
references, as well as the Sum and Product iterators, making
references to these types easier to use
+ Implement From<Cow<str>> for String and From<Cow<[T]>> for
Vec<T>. These implementations make sense, but were not yet added.
+ Expand .zip() specialization to .map() and .cloned() for
improved performance.
+ Implement RefUnwindSafe for atomic types, as these types are
“unwind safe,” though that wasn’t obvious at first.
+ Specialize Vec::extend to Vec::extend_from_slice for
performance gains.
+ Don’t reuse HashMap random seeds. This helps to mitigate one
type of DDoS attack.
+ The internal memory layout of HashMap is more cache-friendly,
for significant improvements in some operations
+ Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
+ 0003-Disable-embedding-timestamp-information.patch - fixed
by upstream
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative
packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
* fix armv6 and armv7 builds
- Update to 1.11
+ Add support for cdylib crate types
- Remove merged patches:
* 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
* 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
* Add add-soname.patch
- Move to package named rust
- Update to 1.10
+ -C panic=abort flag for rustc or equivalent in Cargo.toml
+ new crate type cdylib, embeded library for other languages
+ In addition, a number of performance improvements landed in
the compiler, and so did a number of usability improvements
across the documentation, rustdoc itself, and various error
messages.
+ This is the first release, which is guaranteed to be built
by previous stable release of rustc
- Packaging:
+ drop bootstrap mode and use rustc 1.9
+ move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
simple ldconfig calls. Drop archaic %clean section.
Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards.
- Rename source package to rustc-190 to avoid unecessary rebuilds
of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
+ Stabilization of std::panic
+ Deprecation warnings, #[deprecated] attribute
+ Compile time improvements
+ Rolling out use of specialization
+ Library stabilizations
About 80 library functions and methods are now stable in 1.
+ http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
+ Various “operator equals” operators, such as += and -=, are now
overloadable via various traits.
+ Empty struct declaration can contain cutly braces
+ New (non default) cargo based build system for rustc
+ About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
+ Many stabilized APIs
+ Improved library performance
+ BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
+ LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
+ str::replace now accepts a Pattern, like other string searching methods.
+ Any is implemented for unsized types.
+ Hash is implemented for Duration.
+ Soundness fixes, may break code. See RFC 1214 for more information.
+ Several bugs in the compiler's visibility calculations were fixed.
+ Parsing "." as a float results in an error instead of 0.
+ Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
+ Stabilization of libcore and other library functions
+ Crates.io disallows wildcards
- Update to version 1.4.0:
+ Several changes have been made to fix type soundness and improve the
behavior of associated types. See RFC 1214. Although we have mostly
introduced these changes as warnings this release, to become errors next
release, there are still some scenarios that will see immediate breakage.
+ The str::lines and BufRead::lines iterators treat \r\n as line breaks in
addition to \n.
+ Loans of 'static lifetime extend to the end of a function.
+ str::parse no longer introduces avoidable rounding error when parsing
floating point numbers. Together with earlier changes to float
formatting/output, "round trips" like f.to_string().parse() now preserve
the value of f exactly. Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
+ API stabilization, including the new Duration API and
enhancements to Error and Hash/Hasher.
+ The substring matcher now uses a more efficient algorithm.
+ There were improvements to zero filling that speed up
Vec::resize and Read::read_to_end.
+ The implementation of Read::read_to_end has been specialized
for stdin and File, resulting in additional speedups.
+ The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
+ An across-the-board improvement to real-world compiler performance.
Representative crates include hyper (compiles 1.16x faster), html5ever
(1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
can explore some of this performance data at Nick Cameron’s preliminary
tracking site, using dates 2015-05-15 to 2015-06-25.
+ Parallel codegen is now working, and produces a 33% speedup when
bootstrapping on a 4 core machine. Parallel codegen is particularly useful
for debug builds, since it prevents some optimizations; but it can also be
used with optimizations as an effective -O1 flag. It can be activated
by passing -C codegen-units=N to rustc, where N is the desired number
of threads.
- Update to version 1.1.0:
+ The std::fs module has been expanded to expand the set of
functionality exposed:
* DirEntry now supports optimizations like file_type and
metadata which don't incur a syscall on some platforms.
* A symlink_metadata function has been added.
* The fs::Metadata structure now lowers to its OS counterpart,
providing access to all underlying information.
+ The compiler now contains extended explanations of many errors.
When an error with an explanation occurs the compiler suggests
using the --explain flag to read the explanation. Error
explanations are also available online.
+ Thanks to multiple improvements to type checking, as well as other
work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
+ lint: deny transmuting from immutable to mutable, since it's undefined behavior
+ std: update select internals to not use mutable transmuting
+ std: Remove index notation on slice iterators
+ std: Destabilize io::BufStream
+ Make RwLock::try_write try to obtain a write lock
+ std: Remove addition on vectors for now
+ thread: right now you can't actually set those printers
+ Fix #24872, XSS in docs not found page.
+ Update AUTHORS.txt and RELEASES.md for 1.0
+ std: Mark `mem::forget` as a safe function
+ core: impl AsRef<[u8]> for str
+ collections: impl AsRef<[u8]> for String
+ collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
+ Fix invalid references due to the automated string substitution
+ dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
+ Introduce a `FreeRegionMap` data structure. (#22779)
+ Fix #20616
+ std: Fix inheriting standard handles on windows
+ Fix #24895.
+ Fix zero-normalization of the pos of a `MultiByteChar`.
+ lint for mixing `#[repr(C)]` with an impl of `Drop`.
+ Bump prerelease version to .4
+ Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
+ Update Windows caveats
+ Utilize if..let for get_mut doc-comment examples
+ Indicate keywords are code-like in Fuse::reset_fuse doc comment
+ doc: improve/fix 'let' FAQ
+ Fix broken links in the docs
+ Indicate None is code-like in doc comments
+ Fixed typo in hash_map::Entry documentation
+ Remove an unused import on windows
- Version 1.0.0-beta3.
OBS-URL: https://build.opensuse.org/request/show/534605
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=130
2017-10-18 01:25:27 +02:00
|
|
|
BuildArch: i686
|
2017-10-16 22:30:58 +02:00
|
|
|
%endif
|
2017-09-23 02:04:47 +02:00
|
|
|
%if %{with rust_bootstrap}
|
2017-05-10 09:11:46 +02:00
|
|
|
BuildRequires: rust-std-bootstrap = %{prev_rust}
|
|
|
|
BuildRequires: rustc-bootstrap = %{prev_rust}
|
2017-02-13 05:23:24 +01:00
|
|
|
%else
|
2017-05-10 09:11:46 +02:00
|
|
|
BuildRequires: rust <= %{version}
|
|
|
|
BuildRequires: rust >= %{prev_rust}
|
|
|
|
BuildRequires: rust-std <= %{version}
|
|
|
|
BuildRequires: rust-std >= %{prev_rust}
|
2017-02-13 05:23:24 +01:00
|
|
|
%endif
|
2016-09-06 18:11:34 +02:00
|
|
|
|
|
|
|
%description
|
|
|
|
Rust is a systems programming language focused on three goals:
|
|
|
|
safety, speed, and concurrency. It maintains these goals without
|
|
|
|
having a garbage collector, making it a useful language for a
|
|
|
|
number of use cases other languages are not good at: embedding
|
|
|
|
in other languages, programs with specific space and time
|
|
|
|
requirements, and writing low-level code, like device drivers
|
|
|
|
and operating systems. It improves on current languages targeting
|
|
|
|
this space by having a number of compile-time safety checks
|
|
|
|
that produce no runtime overhead, while eliminating all
|
|
|
|
data races. Rust also aims to achieve "zero-cost abstractions",
|
|
|
|
even though some of these abstractions feel like those of a
|
|
|
|
high-level language. Even then, Rust still allows precise
|
|
|
|
control like a low-level language would.
|
|
|
|
|
2017-03-28 04:38:57 +02:00
|
|
|
%package -n rust-std
|
2017-02-06 09:25:50 +01:00
|
|
|
Summary: Standard library for Rust
|
|
|
|
Group: Development/Languages/Other
|
2018-01-24 07:37:34 +01:00
|
|
|
Requires: %{name} = %{version}
|
|
|
|
Conflicts: rust-std
|
2017-02-06 09:25:50 +01:00
|
|
|
|
2017-03-28 04:38:57 +02:00
|
|
|
%description -n rust-std
|
2017-02-06 09:25:50 +01:00
|
|
|
This package includes the standard libraries for building
|
|
|
|
applications written in Rust.
|
|
|
|
|
2017-03-28 04:38:57 +02:00
|
|
|
%package -n rust-doc
|
2016-09-06 18:11:34 +02:00
|
|
|
Summary: Rust documentation
|
|
|
|
Group: Development/Languages/Other
|
2018-01-24 07:37:34 +01:00
|
|
|
Requires: %{name} = %{version}
|
|
|
|
Conflicts: rust-doc
|
2016-09-06 18:11:34 +02:00
|
|
|
|
2017-03-28 04:38:57 +02:00
|
|
|
%description -n rust-doc
|
2016-09-06 18:11:34 +02:00
|
|
|
Documentation for the Rust language.
|
|
|
|
|
2017-03-28 04:38:57 +02:00
|
|
|
%package -n rust-gdb
|
2016-09-06 18:11:34 +02:00
|
|
|
Summary: Gdb integration for rust binaries
|
|
|
|
Group: Development/Languages/Other
|
2018-01-24 07:37:34 +01:00
|
|
|
Requires: %{name} = %{version}
|
2016-12-18 01:34:00 +01:00
|
|
|
Supplements: packageand(%{name}:gdb)
|
2018-01-24 07:37:34 +01:00
|
|
|
Conflicts: rust-gdb
|
2017-03-28 04:38:57 +02:00
|
|
|
Provides: rustc:%{_bindir}/rust-gdb
|
2016-09-06 18:11:34 +02:00
|
|
|
|
2017-03-28 04:38:57 +02:00
|
|
|
%description -n rust-gdb
|
2016-09-06 18:11:34 +02:00
|
|
|
This subpackage provides pretty printers and a wrapper script for
|
|
|
|
invoking gdb on rust binaries.
|
|
|
|
|
Accepting request 520549 from home:luke_nukem:branches:devel:languages:rust
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
+ [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
+ [Macro recursion limit increased to 1024 from 64.][41676]
+ [Added lint for detecting unused macros.][41907]
+ [`loop` can now return a value with `break`.][42016] [RFC 1624]
For example: `let x = loop { break 7; };`
+ [C compatible `union`s are now available.][42068] [RFC 1444] They can only
contain `Copy` types and cannot have a `Drop` implementation.
Example: `union Foo { bar: u8, baz: usize }`
+ [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
+ [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
+ [Change `arm-linux-androideabi` to correspond to the `armeabi`
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
you should use `--target armv7-linux-androideabi`.
+ [Fixed ICE when removing a source file between compilation sessions.][41873]
+ [Minor optimisation of string operations.][42037]
+ [Compiler error message is now `aborting due to previous error(s)` instead of
`aborting due to N previous errors`][42150] This was previously inaccurate and
would only count certain kinds of errors.
+ [The compiler now supports Visual Studio 2017][42225]
+ [The compiler is now built against LLVM 4.0.1 by default][42948]
+ [Added a lot][42264] of [new error codes][42302]
+ [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
libraries with C Run-time Libraries(CRT) to be statically linked.
+ [Fixed various ARM codegen bugs][42740]
- Librarie updates:
+ [`String` now implements `FromIterator<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][41258]
+ [`SplitWhitespace` now implements `Clone`][41659]
+ [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
1.5x faster][41764]
+ [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
macros, but for printing to stderr.
- Stabilized APIs
+ [`OsString::shrink_to_fit`]
+ [`cmp::Reverse`]
+ [`Command::envs`]
+ [`thread::ThreadId`]
- Misc
+ [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
Windows Debugger.
+ [Rust will now release XZ compressed packages][rust-installer/57]
+ [rustup will now prefer to download rust packages with
XZ compression][rustup/1100] over GZip packages.
+ [Added the ability to escape `#` in rust documentation][41785] By adding
additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
+ [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
make the item visible to just that module tree. Also accepts the keyword
`crate` to make something public to the whole crate but not users of the
library. Example: `pub(crate) mod utils;`. [RFC 1422].
+ [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
`/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
+ [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
types like `Write + Send`, trailing `+` are now supported in trait objects,
and better error reporting for trait objects starting with `?Sized`.
+ [0e+10 is now a valid floating point literal][40589]
+ [Now warns if you bind a lifetime parameter to 'static][40734]
+ [Tuples, Enum variant fields, and structs with no `repr` attribute or with
`#[repr(Rust)]` are reordered to minimize padding and produce a smaller
representation in some cases.][40377]
-Compiler updates
+ [rustc can now emit mir with `--emit mir`][39891]
+ [Improved LLVM IR for trivial functions][40367]
+ [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
+ [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
opportunities found through profiling
+ [Improved backtrace formatting when panicking][38165]
- Library updates:
+ [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
iterator hasn't been advanced the original `Vec` is reassembled with no actual
iteration or reallocation.
+ [Simplified HashMap Bucket interface][40561] provides performance
improvements for iterating and cloning.
+ [Specialize Vec::from_elem to use calloc][40409]
+ [Fixed Race condition in fs::create_dir_all][39799]
+ [No longer caching stdio on Windows][40516]
+ [Optimized insertion sort in slice][40807] insertion sort in some cases
2.50%~ faster and in one case now 12.50% faster.
+ [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
+ [`Child::try_wait`]
+ [`HashMap::retain`]
+ [`HashSet::retain`]
+ [`PeekMut::pop`]
+ [`TcpStream::peek`]
+ [`UdpSocket::peek`]
- Misc:
+ [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
+ [Added rust-winbg script for better debugging on Windows][39983]
+ [Rust now uses the official cross compiler for NetBSD][40612]
+ [rustdoc now accepts `#` at the start of files][40828]
+ [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
+ [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
always placed after the sign if it exists and before the digits. With the `#`
flag the zeroes are placed after the prefix and before the digits.
+ [Due to the struct field optimisation][40377], using `transmute` on structs
that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
always been undefined behavior, but is now more likely to break in practice.
+ [The refactor of trait object type parsing][40043] fixed a bug where `+` was
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
+ [Overlapping inherent `impl`s are now a hard error][40728]
+ [`PartialOrd` and `Ord` must agree on the ordering.][41270]
+ [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
`out.asm` and `out.ll` instead of only one of the filetypes.
+ [ calling a function that returns `Self` will no longer work][41805] when
the size of `Self` cannot be statically determined.
+ [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
this has caused a few regressions namely:
+ Changed the link order of local static/dynamic libraries (respecting the
order on given rather than having the compiler reorder).
+ Changed how MinGW is linked, native code linked to dynamic libraries
may require manually linking to the gcc support library (for the native
code itself)
- Adjustment of rust version dependency to prevent inability to
build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Updates to libraries
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
stable compiler
- Update to 1.16.0
- Language updates
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Library updates
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc fixes
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in
openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
stable. This allows popular code-generating crates like Serde and Diesel to
work ergonomically. [RFC 1681].
* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
with curly braces][36868]. Part of [RFC 1506].
* [A number of minor changes to name resolution have been activated][37127].
They add up to more consistent semantics, allowing for future evolution of
Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
details of what is different. The breaking changes here have been transitioned
through the [`legacy_imports`] lint since 1.14, with no known regressions.
* [In `macro_rules`, `path` fragments can now be parsed as type parameter
bounds][38279]
* [`?Sized` can be used in `where` clauses][37791]
* [There is now a limit on the size of monomorphized types and it can be
modified with the `#![type_size_limit]` crate attribute, similarly to
the `#![recursion_limit]` attribute][37789]
- Compiler changes
* [On Windows, the compiler will apply dllimport attributes when linking to
extern functions][37973]. Additional attributes and flags can control which
library kind is linked and its name. [RFC 1717].
* [Rust-ABI symbols are no longer exported from cdylibs][38117]
* [The `--test` flag works with procedural macro crates][38107]
* [Fix `extern "aapcs" fn` ABI][37814]
* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
* [The `format!` expander recognizes incorrect `printf` and shell-style
formatting directives and suggests the correct format][37613].
* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
* [Don't clone in `UnificationTable::probe`][37848]
* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
* [Use small vectors in type walker][37760]
* [Macro expansion performance was improved][37701]
* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
* [Replace FNV with a faster hash function][37229]
- For full change list, please see
https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
+ appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
packaged versions haven't successfully built in the past
- Update to version 1.14.0
+ Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+ Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
+ support for RFC 1492. This small addition lets you use `..`
in more places, for example when destructuring a struct or tuple
+ println!(), with no arguments, prints newline
+ Wrapping impls standard binary and unary operators on
references, as well as the Sum and Product iterators, making
references to these types easier to use
+ Implement From<Cow<str>> for String and From<Cow<[T]>> for
Vec<T>. These implementations make sense, but were not yet added.
+ Expand .zip() specialization to .map() and .cloned() for
improved performance.
+ Implement RefUnwindSafe for atomic types, as these types are
“unwind safe,” though that wasn’t obvious at first.
+ Specialize Vec::extend to Vec::extend_from_slice for
performance gains.
+ Don’t reuse HashMap random seeds. This helps to mitigate one
type of DDoS attack.
+ The internal memory layout of HashMap is more cache-friendly,
for significant improvements in some operations
+ Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
+ 0003-Disable-embedding-timestamp-information.patch - fixed
by upstream
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative
packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
* fix armv6 and armv7 builds
- Update to 1.11
+ Add support for cdylib crate types
- Remove merged patches:
* 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
* 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
* Add add-soname.patch
- Move to package named rust
- Update to 1.10
+ -C panic=abort flag for rustc or equivalent in Cargo.toml
+ new crate type cdylib, embeded library for other languages
+ In addition, a number of performance improvements landed in
the compiler, and so did a number of usability improvements
across the documentation, rustdoc itself, and various error
messages.
+ This is the first release, which is guaranteed to be built
by previous stable release of rustc
- Packaging:
+ drop bootstrap mode and use rustc 1.9
+ move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
simple ldconfig calls. Drop archaic %clean section.
Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards.
- Rename source package to rustc-190 to avoid unecessary rebuilds
of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
+ Stabilization of std::panic
+ Deprecation warnings, #[deprecated] attribute
+ Compile time improvements
+ Rolling out use of specialization
+ Library stabilizations
About 80 library functions and methods are now stable in 1.
+ http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
+ Various “operator equals” operators, such as += and -=, are now
overloadable via various traits.
+ Empty struct declaration can contain cutly braces
+ New (non default) cargo based build system for rustc
+ About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
+ Many stabilized APIs
+ Improved library performance
+ BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
+ LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
+ str::replace now accepts a Pattern, like other string searching methods.
+ Any is implemented for unsized types.
+ Hash is implemented for Duration.
+ Soundness fixes, may break code. See RFC 1214 for more information.
+ Several bugs in the compiler's visibility calculations were fixed.
+ Parsing "." as a float results in an error instead of 0.
+ Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
+ Stabilization of libcore and other library functions
+ Crates.io disallows wildcards
- Update to version 1.4.0:
+ Several changes have been made to fix type soundness and improve the
behavior of associated types. See RFC 1214. Although we have mostly
introduced these changes as warnings this release, to become errors next
release, there are still some scenarios that will see immediate breakage.
+ The str::lines and BufRead::lines iterators treat \r\n as line breaks in
addition to \n.
+ Loans of 'static lifetime extend to the end of a function.
+ str::parse no longer introduces avoidable rounding error when parsing
floating point numbers. Together with earlier changes to float
formatting/output, "round trips" like f.to_string().parse() now preserve
the value of f exactly. Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
+ API stabilization, including the new Duration API and
enhancements to Error and Hash/Hasher.
+ The substring matcher now uses a more efficient algorithm.
+ There were improvements to zero filling that speed up
Vec::resize and Read::read_to_end.
+ The implementation of Read::read_to_end has been specialized
for stdin and File, resulting in additional speedups.
+ The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
+ An across-the-board improvement to real-world compiler performance.
Representative crates include hyper (compiles 1.16x faster), html5ever
(1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
can explore some of this performance data at Nick Cameron’s preliminary
tracking site, using dates 2015-05-15 to 2015-06-25.
+ Parallel codegen is now working, and produces a 33% speedup when
bootstrapping on a 4 core machine. Parallel codegen is particularly useful
for debug builds, since it prevents some optimizations; but it can also be
used with optimizations as an effective -O1 flag. It can be activated
by passing -C codegen-units=N to rustc, where N is the desired number
of threads.
- Update to version 1.1.0:
+ The std::fs module has been expanded to expand the set of
functionality exposed:
* DirEntry now supports optimizations like file_type and
metadata which don't incur a syscall on some platforms.
* A symlink_metadata function has been added.
* The fs::Metadata structure now lowers to its OS counterpart,
providing access to all underlying information.
+ The compiler now contains extended explanations of many errors.
When an error with an explanation occurs the compiler suggests
using the --explain flag to read the explanation. Error
explanations are also available online.
+ Thanks to multiple improvements to type checking, as well as other
work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
+ lint: deny transmuting from immutable to mutable, since it's undefined behavior
+ std: update select internals to not use mutable transmuting
+ std: Remove index notation on slice iterators
+ std: Destabilize io::BufStream
+ Make RwLock::try_write try to obtain a write lock
+ std: Remove addition on vectors for now
+ thread: right now you can't actually set those printers
+ Fix #24872, XSS in docs not found page.
+ Update AUTHORS.txt and RELEASES.md for 1.0
+ std: Mark `mem::forget` as a safe function
+ core: impl AsRef<[u8]> for str
+ collections: impl AsRef<[u8]> for String
+ collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
+ Fix invalid references due to the automated string substitution
+ dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
+ Introduce a `FreeRegionMap` data structure. (#22779)
+ Fix #20616
+ std: Fix inheriting standard handles on windows
+ Fix #24895.
+ Fix zero-normalization of the pos of a `MultiByteChar`.
+ lint for mixing `#[repr(C)]` with an impl of `Drop`.
+ Bump prerelease version to .4
+ Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
+ Update Windows caveats
+ Utilize if..let for get_mut doc-comment examples
+ Indicate keywords are code-like in Fuse::reset_fuse doc comment
+ doc: improve/fix 'let' FAQ
+ Fix broken links in the docs
+ Indicate None is code-like in doc comments
+ Fixed typo in hash_map::Entry documentation
+ Remove an unused import on windows
- Version 1.0.0-beta3.
OBS-URL: https://build.opensuse.org/request/show/520549
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=114
2017-09-04 05:30:42 +02:00
|
|
|
%package -n rust-src
|
|
|
|
Summary: Sources for the Rust standard library
|
|
|
|
Group: Development/Languages/Other
|
2018-01-24 07:37:34 +01:00
|
|
|
Requires: %{name} = %{version}
|
Accepting request 520549 from home:luke_nukem:branches:devel:languages:rust
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
+ [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
+ [Macro recursion limit increased to 1024 from 64.][41676]
+ [Added lint for detecting unused macros.][41907]
+ [`loop` can now return a value with `break`.][42016] [RFC 1624]
For example: `let x = loop { break 7; };`
+ [C compatible `union`s are now available.][42068] [RFC 1444] They can only
contain `Copy` types and cannot have a `Drop` implementation.
Example: `union Foo { bar: u8, baz: usize }`
+ [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
+ [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
+ [Change `arm-linux-androideabi` to correspond to the `armeabi`
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
you should use `--target armv7-linux-androideabi`.
+ [Fixed ICE when removing a source file between compilation sessions.][41873]
+ [Minor optimisation of string operations.][42037]
+ [Compiler error message is now `aborting due to previous error(s)` instead of
`aborting due to N previous errors`][42150] This was previously inaccurate and
would only count certain kinds of errors.
+ [The compiler now supports Visual Studio 2017][42225]
+ [The compiler is now built against LLVM 4.0.1 by default][42948]
+ [Added a lot][42264] of [new error codes][42302]
+ [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
libraries with C Run-time Libraries(CRT) to be statically linked.
+ [Fixed various ARM codegen bugs][42740]
- Librarie updates:
+ [`String` now implements `FromIterator<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][41258]
+ [`SplitWhitespace` now implements `Clone`][41659]
+ [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
1.5x faster][41764]
+ [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
macros, but for printing to stderr.
- Stabilized APIs
+ [`OsString::shrink_to_fit`]
+ [`cmp::Reverse`]
+ [`Command::envs`]
+ [`thread::ThreadId`]
- Misc
+ [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
Windows Debugger.
+ [Rust will now release XZ compressed packages][rust-installer/57]
+ [rustup will now prefer to download rust packages with
XZ compression][rustup/1100] over GZip packages.
+ [Added the ability to escape `#` in rust documentation][41785] By adding
additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
+ [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
make the item visible to just that module tree. Also accepts the keyword
`crate` to make something public to the whole crate but not users of the
library. Example: `pub(crate) mod utils;`. [RFC 1422].
+ [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
`/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
+ [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
types like `Write + Send`, trailing `+` are now supported in trait objects,
and better error reporting for trait objects starting with `?Sized`.
+ [0e+10 is now a valid floating point literal][40589]
+ [Now warns if you bind a lifetime parameter to 'static][40734]
+ [Tuples, Enum variant fields, and structs with no `repr` attribute or with
`#[repr(Rust)]` are reordered to minimize padding and produce a smaller
representation in some cases.][40377]
-Compiler updates
+ [rustc can now emit mir with `--emit mir`][39891]
+ [Improved LLVM IR for trivial functions][40367]
+ [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
+ [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
opportunities found through profiling
+ [Improved backtrace formatting when panicking][38165]
- Library updates:
+ [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
iterator hasn't been advanced the original `Vec` is reassembled with no actual
iteration or reallocation.
+ [Simplified HashMap Bucket interface][40561] provides performance
improvements for iterating and cloning.
+ [Specialize Vec::from_elem to use calloc][40409]
+ [Fixed Race condition in fs::create_dir_all][39799]
+ [No longer caching stdio on Windows][40516]
+ [Optimized insertion sort in slice][40807] insertion sort in some cases
2.50%~ faster and in one case now 12.50% faster.
+ [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
+ [`Child::try_wait`]
+ [`HashMap::retain`]
+ [`HashSet::retain`]
+ [`PeekMut::pop`]
+ [`TcpStream::peek`]
+ [`UdpSocket::peek`]
- Misc:
+ [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
+ [Added rust-winbg script for better debugging on Windows][39983]
+ [Rust now uses the official cross compiler for NetBSD][40612]
+ [rustdoc now accepts `#` at the start of files][40828]
+ [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
+ [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
always placed after the sign if it exists and before the digits. With the `#`
flag the zeroes are placed after the prefix and before the digits.
+ [Due to the struct field optimisation][40377], using `transmute` on structs
that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
always been undefined behavior, but is now more likely to break in practice.
+ [The refactor of trait object type parsing][40043] fixed a bug where `+` was
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
+ [Overlapping inherent `impl`s are now a hard error][40728]
+ [`PartialOrd` and `Ord` must agree on the ordering.][41270]
+ [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
`out.asm` and `out.ll` instead of only one of the filetypes.
+ [ calling a function that returns `Self` will no longer work][41805] when
the size of `Self` cannot be statically determined.
+ [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
this has caused a few regressions namely:
+ Changed the link order of local static/dynamic libraries (respecting the
order on given rather than having the compiler reorder).
+ Changed how MinGW is linked, native code linked to dynamic libraries
may require manually linking to the gcc support library (for the native
code itself)
- Adjustment of rust version dependency to prevent inability to
build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Updates to libraries
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
stable compiler
- Update to 1.16.0
- Language updates
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Library updates
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc fixes
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in
openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
stable. This allows popular code-generating crates like Serde and Diesel to
work ergonomically. [RFC 1681].
* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
with curly braces][36868]. Part of [RFC 1506].
* [A number of minor changes to name resolution have been activated][37127].
They add up to more consistent semantics, allowing for future evolution of
Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
details of what is different. The breaking changes here have been transitioned
through the [`legacy_imports`] lint since 1.14, with no known regressions.
* [In `macro_rules`, `path` fragments can now be parsed as type parameter
bounds][38279]
* [`?Sized` can be used in `where` clauses][37791]
* [There is now a limit on the size of monomorphized types and it can be
modified with the `#![type_size_limit]` crate attribute, similarly to
the `#![recursion_limit]` attribute][37789]
- Compiler changes
* [On Windows, the compiler will apply dllimport attributes when linking to
extern functions][37973]. Additional attributes and flags can control which
library kind is linked and its name. [RFC 1717].
* [Rust-ABI symbols are no longer exported from cdylibs][38117]
* [The `--test` flag works with procedural macro crates][38107]
* [Fix `extern "aapcs" fn` ABI][37814]
* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
* [The `format!` expander recognizes incorrect `printf` and shell-style
formatting directives and suggests the correct format][37613].
* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
* [Don't clone in `UnificationTable::probe`][37848]
* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
* [Use small vectors in type walker][37760]
* [Macro expansion performance was improved][37701]
* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
* [Replace FNV with a faster hash function][37229]
- For full change list, please see
https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
+ appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
packaged versions haven't successfully built in the past
- Update to version 1.14.0
+ Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+ Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
+ support for RFC 1492. This small addition lets you use `..`
in more places, for example when destructuring a struct or tuple
+ println!(), with no arguments, prints newline
+ Wrapping impls standard binary and unary operators on
references, as well as the Sum and Product iterators, making
references to these types easier to use
+ Implement From<Cow<str>> for String and From<Cow<[T]>> for
Vec<T>. These implementations make sense, but were not yet added.
+ Expand .zip() specialization to .map() and .cloned() for
improved performance.
+ Implement RefUnwindSafe for atomic types, as these types are
“unwind safe,” though that wasn’t obvious at first.
+ Specialize Vec::extend to Vec::extend_from_slice for
performance gains.
+ Don’t reuse HashMap random seeds. This helps to mitigate one
type of DDoS attack.
+ The internal memory layout of HashMap is more cache-friendly,
for significant improvements in some operations
+ Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
+ 0003-Disable-embedding-timestamp-information.patch - fixed
by upstream
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative
packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
* fix armv6 and armv7 builds
- Update to 1.11
+ Add support for cdylib crate types
- Remove merged patches:
* 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
* 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
* Add add-soname.patch
- Move to package named rust
- Update to 1.10
+ -C panic=abort flag for rustc or equivalent in Cargo.toml
+ new crate type cdylib, embeded library for other languages
+ In addition, a number of performance improvements landed in
the compiler, and so did a number of usability improvements
across the documentation, rustdoc itself, and various error
messages.
+ This is the first release, which is guaranteed to be built
by previous stable release of rustc
- Packaging:
+ drop bootstrap mode and use rustc 1.9
+ move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
simple ldconfig calls. Drop archaic %clean section.
Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards.
- Rename source package to rustc-190 to avoid unecessary rebuilds
of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
+ Stabilization of std::panic
+ Deprecation warnings, #[deprecated] attribute
+ Compile time improvements
+ Rolling out use of specialization
+ Library stabilizations
About 80 library functions and methods are now stable in 1.
+ http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
+ Various “operator equals” operators, such as += and -=, are now
overloadable via various traits.
+ Empty struct declaration can contain cutly braces
+ New (non default) cargo based build system for rustc
+ About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
+ Many stabilized APIs
+ Improved library performance
+ BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
+ LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
+ str::replace now accepts a Pattern, like other string searching methods.
+ Any is implemented for unsized types.
+ Hash is implemented for Duration.
+ Soundness fixes, may break code. See RFC 1214 for more information.
+ Several bugs in the compiler's visibility calculations were fixed.
+ Parsing "." as a float results in an error instead of 0.
+ Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
+ Stabilization of libcore and other library functions
+ Crates.io disallows wildcards
- Update to version 1.4.0:
+ Several changes have been made to fix type soundness and improve the
behavior of associated types. See RFC 1214. Although we have mostly
introduced these changes as warnings this release, to become errors next
release, there are still some scenarios that will see immediate breakage.
+ The str::lines and BufRead::lines iterators treat \r\n as line breaks in
addition to \n.
+ Loans of 'static lifetime extend to the end of a function.
+ str::parse no longer introduces avoidable rounding error when parsing
floating point numbers. Together with earlier changes to float
formatting/output, "round trips" like f.to_string().parse() now preserve
the value of f exactly. Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
+ API stabilization, including the new Duration API and
enhancements to Error and Hash/Hasher.
+ The substring matcher now uses a more efficient algorithm.
+ There were improvements to zero filling that speed up
Vec::resize and Read::read_to_end.
+ The implementation of Read::read_to_end has been specialized
for stdin and File, resulting in additional speedups.
+ The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
+ An across-the-board improvement to real-world compiler performance.
Representative crates include hyper (compiles 1.16x faster), html5ever
(1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
can explore some of this performance data at Nick Cameron’s preliminary
tracking site, using dates 2015-05-15 to 2015-06-25.
+ Parallel codegen is now working, and produces a 33% speedup when
bootstrapping on a 4 core machine. Parallel codegen is particularly useful
for debug builds, since it prevents some optimizations; but it can also be
used with optimizations as an effective -O1 flag. It can be activated
by passing -C codegen-units=N to rustc, where N is the desired number
of threads.
- Update to version 1.1.0:
+ The std::fs module has been expanded to expand the set of
functionality exposed:
* DirEntry now supports optimizations like file_type and
metadata which don't incur a syscall on some platforms.
* A symlink_metadata function has been added.
* The fs::Metadata structure now lowers to its OS counterpart,
providing access to all underlying information.
+ The compiler now contains extended explanations of many errors.
When an error with an explanation occurs the compiler suggests
using the --explain flag to read the explanation. Error
explanations are also available online.
+ Thanks to multiple improvements to type checking, as well as other
work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
+ lint: deny transmuting from immutable to mutable, since it's undefined behavior
+ std: update select internals to not use mutable transmuting
+ std: Remove index notation on slice iterators
+ std: Destabilize io::BufStream
+ Make RwLock::try_write try to obtain a write lock
+ std: Remove addition on vectors for now
+ thread: right now you can't actually set those printers
+ Fix #24872, XSS in docs not found page.
+ Update AUTHORS.txt and RELEASES.md for 1.0
+ std: Mark `mem::forget` as a safe function
+ core: impl AsRef<[u8]> for str
+ collections: impl AsRef<[u8]> for String
+ collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
+ Fix invalid references due to the automated string substitution
+ dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
+ Introduce a `FreeRegionMap` data structure. (#22779)
+ Fix #20616
+ std: Fix inheriting standard handles on windows
+ Fix #24895.
+ Fix zero-normalization of the pos of a `MultiByteChar`.
+ lint for mixing `#[repr(C)]` with an impl of `Drop`.
+ Bump prerelease version to .4
+ Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
+ Update Windows caveats
+ Utilize if..let for get_mut doc-comment examples
+ Indicate keywords are code-like in Fuse::reset_fuse doc comment
+ doc: improve/fix 'let' FAQ
+ Fix broken links in the docs
+ Indicate None is code-like in doc comments
+ Fixed typo in hash_map::Entry documentation
+ Remove an unused import on windows
- Version 1.0.0-beta3.
OBS-URL: https://build.opensuse.org/request/show/520549
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=114
2017-09-04 05:30:42 +02:00
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
%description -n rust-src
|
|
|
|
This package includes source files for the Rust standard library. This
|
|
|
|
is commonly used for function detail lookups in helper programs such
|
|
|
|
as RLS or racer.
|
|
|
|
|
2016-09-06 18:11:34 +02:00
|
|
|
%prep
|
2017-04-30 08:28:06 +02:00
|
|
|
%ifarch x86_64
|
2017-06-09 10:26:16 +02:00
|
|
|
%setup -q -T -b 100 -n cargo-%{cargo_version}-%{rust_triple}
|
2017-04-30 08:28:06 +02:00
|
|
|
%endif
|
2018-01-24 07:37:34 +01:00
|
|
|
%ifarch %{ix86}
|
2017-04-30 08:28:06 +02:00
|
|
|
%setup -q -T -b 101 -n cargo-%{cargo_version}-i686-unknown-linux-%{abi}
|
|
|
|
%endif
|
|
|
|
%ifarch aarch64
|
2017-06-09 10:26:16 +02:00
|
|
|
%setup -q -T -b 102 -n cargo-%{cargo_version}-%{rust_triple}
|
2017-04-30 08:28:06 +02:00
|
|
|
%endif
|
|
|
|
%ifarch armv7hl
|
2017-06-09 10:26:16 +02:00
|
|
|
%setup -q -T -b 103 -n cargo-%{cargo_version}-%{rust_triple}
|
2017-04-30 08:28:06 +02:00
|
|
|
%endif
|
2017-11-26 01:27:34 +01:00
|
|
|
%ifarch armv6hl
|
2017-06-09 10:26:16 +02:00
|
|
|
%setup -q -T -b 104 -n cargo-%{cargo_version}-%{rust_triple}
|
2017-04-30 08:28:06 +02:00
|
|
|
%endif
|
2017-11-26 01:27:34 +01:00
|
|
|
%ifarch ppc64
|
2017-06-09 10:26:16 +02:00
|
|
|
%setup -q -T -b 105 -n cargo-%{cargo_version}-%{rust_triple}
|
2017-04-30 08:28:06 +02:00
|
|
|
%endif
|
2017-11-26 01:27:34 +01:00
|
|
|
%ifarch ppc64le
|
2017-06-09 10:26:16 +02:00
|
|
|
%setup -q -T -b 106 -n cargo-%{cargo_version}-%{rust_triple}
|
2017-04-30 08:28:06 +02:00
|
|
|
%endif
|
2017-11-26 01:27:34 +01:00
|
|
|
%ifarch s390x
|
|
|
|
%setup -q -T -b 107 -n cargo-%{cargo_version}-%{rust_triple}
|
|
|
|
%endif
|
2017-04-30 08:28:06 +02:00
|
|
|
|
|
|
|
# The cargo binary is only used to build rust and is not shipped
|
2017-06-09 10:26:16 +02:00
|
|
|
%global cargo_bin %{_builddir}/cargo-%{cargo_version}-%{rust_triple}/cargo/bin/cargo
|
2017-04-30 08:28:06 +02:00
|
|
|
|
2017-02-06 09:25:50 +01:00
|
|
|
%setup -q -n rustc-%{version}-src
|
2018-05-11 04:31:09 +02:00
|
|
|
# %patch0 -p1
|
2017-04-30 08:28:06 +02:00
|
|
|
sed -e 's:<cargo-bin>:%{cargo_bin}:g' \
|
|
|
|
-e 's:<rust-triple>:%{rust_triple}:g' \
|
2017-03-22 06:18:22 +01:00
|
|
|
-e 's:<prefix>:%{_prefix}:g' \
|
2017-10-19 07:50:12 +02:00
|
|
|
-e 's:<bindir>:%{_prefix}/bin:g' \
|
2017-09-03 21:08:10 +02:00
|
|
|
-e 's:<libdir>:%{common_libdir}:g' \
|
2017-03-22 06:18:22 +01:00
|
|
|
-e 's:<mandir>:%{_mandir}:g' \
|
|
|
|
-e 's:<docdir>:%{_docdir}/%{name}:g' \
|
|
|
|
%{SOURCE1} > config.toml
|
2016-09-06 18:11:34 +02:00
|
|
|
|
2018-01-24 07:37:34 +01:00
|
|
|
# use python3
|
|
|
|
sed -i -e "1s|#!.*|#!/usr/bin/python3|" x.py
|
|
|
|
|
2016-09-06 18:11:34 +02:00
|
|
|
%build
|
2016-12-18 01:34:00 +01:00
|
|
|
export CPPFLAGS="%{optflags}" # eliminate complain from RPMlint
|
2018-01-24 07:37:34 +01:00
|
|
|
RUST_BACKTRACE=1 python3 ./x.py build --config config.toml
|
|
|
|
python3 ./x.py doc --config config.toml
|
2017-03-22 06:18:22 +01:00
|
|
|
|
|
|
|
%install
|
2018-01-24 07:37:34 +01:00
|
|
|
DESTDIR=%{buildroot} python3 ./x.py install
|
|
|
|
DESTDIR=%{buildroot} python3 ./x.py install src
|
2017-10-19 07:50:12 +02:00
|
|
|
|
2016-09-06 18:11:34 +02:00
|
|
|
# Remove executable permission from HTML documentation
|
|
|
|
# to prevent RPMLINT errors.
|
2017-02-06 09:25:50 +01:00
|
|
|
chmod -R -x+X %{buildroot}%{_docdir}/%{name}/html
|
2016-09-06 18:11:34 +02:00
|
|
|
|
2017-10-19 07:50:12 +02:00
|
|
|
# Remove lockfile to avoid errors.
|
|
|
|
rm %{buildroot}%{_docdir}/%{name}/html/.lock
|
|
|
|
|
|
|
|
# Sanitize the HTML documentation
|
|
|
|
find %{buildroot}%{_docdir}/%{name}/html -empty -delete
|
|
|
|
find %{buildroot}%{_docdir}/%{name}/html -type f -exec chmod -x '{}' '+'
|
|
|
|
|
2017-02-06 09:25:50 +01:00
|
|
|
# Remove surplus files
|
2017-09-03 21:08:10 +02:00
|
|
|
rm %{buildroot}%{rustlibdir}/components
|
|
|
|
rm %{buildroot}%{rustlibdir}/manifest-rust*
|
|
|
|
rm %{buildroot}%{rustlibdir}/install.log
|
|
|
|
rm %{buildroot}%{rustlibdir}/uninstall.sh
|
|
|
|
rm %{buildroot}%{rustlibdir}/rust-installer-version
|
2017-10-19 07:50:12 +02:00
|
|
|
|
|
|
|
# Remove installer artifacts (manifests, uninstall scripts, etc.)
|
|
|
|
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -exec rm -v '{}' '+'
|
2017-02-06 09:25:50 +01:00
|
|
|
|
2017-10-19 07:50:12 +02:00
|
|
|
# The shared libraries should be executable for debuginfo extraction.
|
|
|
|
find %{buildroot}%{rustlibdir} -maxdepth 1 -type f -name '*.so' -exec chmod -v +x '{}' '+'
|
2016-09-06 18:11:34 +02:00
|
|
|
|
2017-02-06 09:25:50 +01:00
|
|
|
# extract bundled licenses for packaging - From fedora spec
|
2017-10-19 07:50:12 +02:00
|
|
|
sed -e '/*\//q' src/libbacktrace/backtrace.h > src/libbacktrace/LICENSE-libbacktrace
|
2016-09-06 18:11:34 +02:00
|
|
|
|
2017-10-19 07:50:12 +02:00
|
|
|
# Remove the license files from _docdir: make install put duplicates there
|
|
|
|
rm %{buildroot}%{_docdir}/%{name}/{README.md,COPYRIGHT,LICENSE-APACHE,LICENSE-MIT}
|
2017-03-14 20:23:20 +01:00
|
|
|
|
2016-12-18 01:34:00 +01:00
|
|
|
%fdupes %{buildroot}%{_prefix}
|
2016-12-17 00:28:41 +01:00
|
|
|
|
2016-09-06 18:11:34 +02:00
|
|
|
%post -p /sbin/ldconfig
|
|
|
|
%postun -p /sbin/ldconfig
|
|
|
|
|
|
|
|
%files
|
2017-10-17 10:53:46 +02:00
|
|
|
%if 0%{?suse_version} == 1315
|
2017-10-17 10:45:39 +02:00
|
|
|
%doc COPYRIGHT LICENSE-APACHE LICENSE-MIT
|
|
|
|
%doc src/libbacktrace/LICENSE-libbacktrace
|
|
|
|
%else
|
2017-02-06 09:25:50 +01:00
|
|
|
%license COPYRIGHT LICENSE-APACHE LICENSE-MIT
|
|
|
|
%license src/libbacktrace/LICENSE-libbacktrace
|
2017-10-17 10:45:39 +02:00
|
|
|
%endif
|
2018-05-13 17:55:39 +02:00
|
|
|
%doc CONTRIBUTING.md README.md RELEASES.md
|
2016-09-06 18:11:34 +02:00
|
|
|
%{_bindir}/rustc
|
|
|
|
%{_bindir}/rustdoc
|
2017-03-22 04:21:12 +01:00
|
|
|
%{_bindir}/rust-lldb
|
2017-02-06 09:25:50 +01:00
|
|
|
%{_mandir}/man1/rustc.1*
|
|
|
|
%{_mandir}/man1/rustdoc.1*
|
2017-02-11 06:21:44 +01:00
|
|
|
%{_prefix}/lib/lib*.so
|
|
|
|
%exclude %{_docdir}/%{name}/html
|
Accepting request 520549 from home:luke_nukem:branches:devel:languages:rust
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
+ [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
+ [Macro recursion limit increased to 1024 from 64.][41676]
+ [Added lint for detecting unused macros.][41907]
+ [`loop` can now return a value with `break`.][42016] [RFC 1624]
For example: `let x = loop { break 7; };`
+ [C compatible `union`s are now available.][42068] [RFC 1444] They can only
contain `Copy` types and cannot have a `Drop` implementation.
Example: `union Foo { bar: u8, baz: usize }`
+ [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
+ [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
+ [Change `arm-linux-androideabi` to correspond to the `armeabi`
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
you should use `--target armv7-linux-androideabi`.
+ [Fixed ICE when removing a source file between compilation sessions.][41873]
+ [Minor optimisation of string operations.][42037]
+ [Compiler error message is now `aborting due to previous error(s)` instead of
`aborting due to N previous errors`][42150] This was previously inaccurate and
would only count certain kinds of errors.
+ [The compiler now supports Visual Studio 2017][42225]
+ [The compiler is now built against LLVM 4.0.1 by default][42948]
+ [Added a lot][42264] of [new error codes][42302]
+ [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
libraries with C Run-time Libraries(CRT) to be statically linked.
+ [Fixed various ARM codegen bugs][42740]
- Librarie updates:
+ [`String` now implements `FromIterator<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][41258]
+ [`SplitWhitespace` now implements `Clone`][41659]
+ [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
1.5x faster][41764]
+ [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
macros, but for printing to stderr.
- Stabilized APIs
+ [`OsString::shrink_to_fit`]
+ [`cmp::Reverse`]
+ [`Command::envs`]
+ [`thread::ThreadId`]
- Misc
+ [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
Windows Debugger.
+ [Rust will now release XZ compressed packages][rust-installer/57]
+ [rustup will now prefer to download rust packages with
XZ compression][rustup/1100] over GZip packages.
+ [Added the ability to escape `#` in rust documentation][41785] By adding
additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
+ [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
make the item visible to just that module tree. Also accepts the keyword
`crate` to make something public to the whole crate but not users of the
library. Example: `pub(crate) mod utils;`. [RFC 1422].
+ [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
`/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
+ [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
types like `Write + Send`, trailing `+` are now supported in trait objects,
and better error reporting for trait objects starting with `?Sized`.
+ [0e+10 is now a valid floating point literal][40589]
+ [Now warns if you bind a lifetime parameter to 'static][40734]
+ [Tuples, Enum variant fields, and structs with no `repr` attribute or with
`#[repr(Rust)]` are reordered to minimize padding and produce a smaller
representation in some cases.][40377]
-Compiler updates
+ [rustc can now emit mir with `--emit mir`][39891]
+ [Improved LLVM IR for trivial functions][40367]
+ [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
+ [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
opportunities found through profiling
+ [Improved backtrace formatting when panicking][38165]
- Library updates:
+ [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
iterator hasn't been advanced the original `Vec` is reassembled with no actual
iteration or reallocation.
+ [Simplified HashMap Bucket interface][40561] provides performance
improvements for iterating and cloning.
+ [Specialize Vec::from_elem to use calloc][40409]
+ [Fixed Race condition in fs::create_dir_all][39799]
+ [No longer caching stdio on Windows][40516]
+ [Optimized insertion sort in slice][40807] insertion sort in some cases
2.50%~ faster and in one case now 12.50% faster.
+ [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
+ [`Child::try_wait`]
+ [`HashMap::retain`]
+ [`HashSet::retain`]
+ [`PeekMut::pop`]
+ [`TcpStream::peek`]
+ [`UdpSocket::peek`]
- Misc:
+ [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
+ [Added rust-winbg script for better debugging on Windows][39983]
+ [Rust now uses the official cross compiler for NetBSD][40612]
+ [rustdoc now accepts `#` at the start of files][40828]
+ [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
+ [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
always placed after the sign if it exists and before the digits. With the `#`
flag the zeroes are placed after the prefix and before the digits.
+ [Due to the struct field optimisation][40377], using `transmute` on structs
that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
always been undefined behavior, but is now more likely to break in practice.
+ [The refactor of trait object type parsing][40043] fixed a bug where `+` was
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
+ [Overlapping inherent `impl`s are now a hard error][40728]
+ [`PartialOrd` and `Ord` must agree on the ordering.][41270]
+ [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
`out.asm` and `out.ll` instead of only one of the filetypes.
+ [ calling a function that returns `Self` will no longer work][41805] when
the size of `Self` cannot be statically determined.
+ [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
this has caused a few regressions namely:
+ Changed the link order of local static/dynamic libraries (respecting the
order on given rather than having the compiler reorder).
+ Changed how MinGW is linked, native code linked to dynamic libraries
may require manually linking to the gcc support library (for the native
code itself)
- Adjustment of rust version dependency to prevent inability to
build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Updates to libraries
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
stable compiler
- Update to 1.16.0
- Language updates
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Library updates
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc fixes
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in
openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
stable. This allows popular code-generating crates like Serde and Diesel to
work ergonomically. [RFC 1681].
* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
with curly braces][36868]. Part of [RFC 1506].
* [A number of minor changes to name resolution have been activated][37127].
They add up to more consistent semantics, allowing for future evolution of
Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
details of what is different. The breaking changes here have been transitioned
through the [`legacy_imports`] lint since 1.14, with no known regressions.
* [In `macro_rules`, `path` fragments can now be parsed as type parameter
bounds][38279]
* [`?Sized` can be used in `where` clauses][37791]
* [There is now a limit on the size of monomorphized types and it can be
modified with the `#![type_size_limit]` crate attribute, similarly to
the `#![recursion_limit]` attribute][37789]
- Compiler changes
* [On Windows, the compiler will apply dllimport attributes when linking to
extern functions][37973]. Additional attributes and flags can control which
library kind is linked and its name. [RFC 1717].
* [Rust-ABI symbols are no longer exported from cdylibs][38117]
* [The `--test` flag works with procedural macro crates][38107]
* [Fix `extern "aapcs" fn` ABI][37814]
* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
* [The `format!` expander recognizes incorrect `printf` and shell-style
formatting directives and suggests the correct format][37613].
* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
* [Don't clone in `UnificationTable::probe`][37848]
* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
* [Use small vectors in type walker][37760]
* [Macro expansion performance was improved][37701]
* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
* [Replace FNV with a faster hash function][37229]
- For full change list, please see
https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
+ appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
packaged versions haven't successfully built in the past
- Update to version 1.14.0
+ Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+ Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
+ support for RFC 1492. This small addition lets you use `..`
in more places, for example when destructuring a struct or tuple
+ println!(), with no arguments, prints newline
+ Wrapping impls standard binary and unary operators on
references, as well as the Sum and Product iterators, making
references to these types easier to use
+ Implement From<Cow<str>> for String and From<Cow<[T]>> for
Vec<T>. These implementations make sense, but were not yet added.
+ Expand .zip() specialization to .map() and .cloned() for
improved performance.
+ Implement RefUnwindSafe for atomic types, as these types are
“unwind safe,” though that wasn’t obvious at first.
+ Specialize Vec::extend to Vec::extend_from_slice for
performance gains.
+ Don’t reuse HashMap random seeds. This helps to mitigate one
type of DDoS attack.
+ The internal memory layout of HashMap is more cache-friendly,
for significant improvements in some operations
+ Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
+ 0003-Disable-embedding-timestamp-information.patch - fixed
by upstream
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative
packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
* fix armv6 and armv7 builds
- Update to 1.11
+ Add support for cdylib crate types
- Remove merged patches:
* 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
* 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
* Add add-soname.patch
- Move to package named rust
- Update to 1.10
+ -C panic=abort flag for rustc or equivalent in Cargo.toml
+ new crate type cdylib, embeded library for other languages
+ In addition, a number of performance improvements landed in
the compiler, and so did a number of usability improvements
across the documentation, rustdoc itself, and various error
messages.
+ This is the first release, which is guaranteed to be built
by previous stable release of rustc
- Packaging:
+ drop bootstrap mode and use rustc 1.9
+ move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
simple ldconfig calls. Drop archaic %clean section.
Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards.
- Rename source package to rustc-190 to avoid unecessary rebuilds
of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
+ Stabilization of std::panic
+ Deprecation warnings, #[deprecated] attribute
+ Compile time improvements
+ Rolling out use of specialization
+ Library stabilizations
About 80 library functions and methods are now stable in 1.
+ http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
+ Various “operator equals” operators, such as += and -=, are now
overloadable via various traits.
+ Empty struct declaration can contain cutly braces
+ New (non default) cargo based build system for rustc
+ About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
+ Many stabilized APIs
+ Improved library performance
+ BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
+ LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
+ str::replace now accepts a Pattern, like other string searching methods.
+ Any is implemented for unsized types.
+ Hash is implemented for Duration.
+ Soundness fixes, may break code. See RFC 1214 for more information.
+ Several bugs in the compiler's visibility calculations were fixed.
+ Parsing "." as a float results in an error instead of 0.
+ Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
+ Stabilization of libcore and other library functions
+ Crates.io disallows wildcards
- Update to version 1.4.0:
+ Several changes have been made to fix type soundness and improve the
behavior of associated types. See RFC 1214. Although we have mostly
introduced these changes as warnings this release, to become errors next
release, there are still some scenarios that will see immediate breakage.
+ The str::lines and BufRead::lines iterators treat \r\n as line breaks in
addition to \n.
+ Loans of 'static lifetime extend to the end of a function.
+ str::parse no longer introduces avoidable rounding error when parsing
floating point numbers. Together with earlier changes to float
formatting/output, "round trips" like f.to_string().parse() now preserve
the value of f exactly. Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
+ API stabilization, including the new Duration API and
enhancements to Error and Hash/Hasher.
+ The substring matcher now uses a more efficient algorithm.
+ There were improvements to zero filling that speed up
Vec::resize and Read::read_to_end.
+ The implementation of Read::read_to_end has been specialized
for stdin and File, resulting in additional speedups.
+ The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
+ An across-the-board improvement to real-world compiler performance.
Representative crates include hyper (compiles 1.16x faster), html5ever
(1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
can explore some of this performance data at Nick Cameron’s preliminary
tracking site, using dates 2015-05-15 to 2015-06-25.
+ Parallel codegen is now working, and produces a 33% speedup when
bootstrapping on a 4 core machine. Parallel codegen is particularly useful
for debug builds, since it prevents some optimizations; but it can also be
used with optimizations as an effective -O1 flag. It can be activated
by passing -C codegen-units=N to rustc, where N is the desired number
of threads.
- Update to version 1.1.0:
+ The std::fs module has been expanded to expand the set of
functionality exposed:
* DirEntry now supports optimizations like file_type and
metadata which don't incur a syscall on some platforms.
* A symlink_metadata function has been added.
* The fs::Metadata structure now lowers to its OS counterpart,
providing access to all underlying information.
+ The compiler now contains extended explanations of many errors.
When an error with an explanation occurs the compiler suggests
using the --explain flag to read the explanation. Error
explanations are also available online.
+ Thanks to multiple improvements to type checking, as well as other
work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
+ lint: deny transmuting from immutable to mutable, since it's undefined behavior
+ std: update select internals to not use mutable transmuting
+ std: Remove index notation on slice iterators
+ std: Destabilize io::BufStream
+ Make RwLock::try_write try to obtain a write lock
+ std: Remove addition on vectors for now
+ thread: right now you can't actually set those printers
+ Fix #24872, XSS in docs not found page.
+ Update AUTHORS.txt and RELEASES.md for 1.0
+ std: Mark `mem::forget` as a safe function
+ core: impl AsRef<[u8]> for str
+ collections: impl AsRef<[u8]> for String
+ collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
+ Fix invalid references due to the automated string substitution
+ dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
+ Introduce a `FreeRegionMap` data structure. (#22779)
+ Fix #20616
+ std: Fix inheriting standard handles on windows
+ Fix #24895.
+ Fix zero-normalization of the pos of a `MultiByteChar`.
+ lint for mixing `#[repr(C)]` with an impl of `Drop`.
+ Bump prerelease version to .4
+ Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
+ Update Windows caveats
+ Utilize if..let for get_mut doc-comment examples
+ Indicate keywords are code-like in Fuse::reset_fuse doc comment
+ doc: improve/fix 'let' FAQ
+ Fix broken links in the docs
+ Indicate None is code-like in doc comments
+ Fixed typo in hash_map::Entry documentation
+ Remove an unused import on windows
- Version 1.0.0-beta3.
OBS-URL: https://build.opensuse.org/request/show/520549
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=114
2017-09-04 05:30:42 +02:00
|
|
|
%exclude %{rustlibdir}/src
|
2016-09-06 18:11:34 +02:00
|
|
|
|
2017-03-28 04:38:57 +02:00
|
|
|
%files -n rust-std
|
2017-09-03 21:08:10 +02:00
|
|
|
%dir %{rustlibdir}
|
|
|
|
%dir %{rustlibdir}/%{rust_triple}
|
2018-05-11 04:31:09 +02:00
|
|
|
%dir %{rustlibdir}/%{rust_triple}/codegen-backends
|
2017-09-03 21:08:10 +02:00
|
|
|
%dir %{rustlibdir}/%{rust_triple}/lib
|
2018-05-11 04:31:09 +02:00
|
|
|
%{rustlibdir}/%{rust_triple}/codegen-backends/librustc_trans-llvm.so
|
2017-09-03 21:08:10 +02:00
|
|
|
%{rustlibdir}/%{rust_triple}/lib/*.rlib
|
|
|
|
%{rustlibdir}/%{rust_triple}/lib/*.so
|
2016-09-06 18:11:34 +02:00
|
|
|
|
2017-03-28 04:38:57 +02:00
|
|
|
%files -n rust-gdb
|
2016-09-06 18:11:34 +02:00
|
|
|
%{_bindir}/rust-gdb
|
2017-09-03 21:08:10 +02:00
|
|
|
%dir %{rustlibdir}
|
2018-01-24 07:37:34 +01:00
|
|
|
%dir %{rustlibdir}%{_sysconfdir}
|
|
|
|
%{rustlibdir}%{_sysconfdir}/debugger_pretty_printers_common.py
|
|
|
|
%{rustlibdir}%{_sysconfdir}/gdb_load_rust_pretty_printers.py
|
|
|
|
%{rustlibdir}%{_sysconfdir}/gdb_rust_pretty_printing.py
|
|
|
|
%{rustlibdir}%{_sysconfdir}/lldb_rust_formatters.py
|
2017-02-06 09:25:50 +01:00
|
|
|
|
2017-03-28 04:38:57 +02:00
|
|
|
%files -n rust-doc
|
2017-02-06 09:25:50 +01:00
|
|
|
%dir %{_docdir}/%{name}
|
|
|
|
%dir %{_docdir}/%{name}/html
|
2017-03-22 04:21:12 +01:00
|
|
|
%doc %{_docdir}/%{name}/html/*
|
2016-12-17 00:28:41 +01:00
|
|
|
|
Accepting request 520549 from home:luke_nukem:branches:devel:languages:rust
- adjust build process and add package for Rust source
- clean-up of useless provides
- add rpmlintrc
- Update to version 1.19
- Language updates:
+ [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
+ [Macro recursion limit increased to 1024 from 64.][41676]
+ [Added lint for detecting unused macros.][41907]
+ [`loop` can now return a value with `break`.][42016] [RFC 1624]
For example: `let x = loop { break 7; };`
+ [C compatible `union`s are now available.][42068] [RFC 1444] They can only
contain `Copy` types and cannot have a `Drop` implementation.
Example: `union Foo { bar: u8, baz: usize }`
+ [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
- Compiler updates:
+ [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
+ [Change `arm-linux-androideabi` to correspond to the `armeabi`
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
you should use `--target armv7-linux-androideabi`.
+ [Fixed ICE when removing a source file between compilation sessions.][41873]
+ [Minor optimisation of string operations.][42037]
+ [Compiler error message is now `aborting due to previous error(s)` instead of
`aborting due to N previous errors`][42150] This was previously inaccurate and
would only count certain kinds of errors.
+ [The compiler now supports Visual Studio 2017][42225]
+ [The compiler is now built against LLVM 4.0.1 by default][42948]
+ [Added a lot][42264] of [new error codes][42302]
+ [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
libraries with C Run-time Libraries(CRT) to be statically linked.
+ [Fixed various ARM codegen bugs][42740]
- Librarie updates:
+ [`String` now implements `FromIterator<Cow<'a, str>>` and
`Extend<Cow<'a, str>>`][41449]
+ [`Vec` now implements `From<&mut [T]>`][41530]
+ [`Box<[u8]>` now implements `From<Box<str>>`][41258]
+ [`SplitWhitespace` now implements `Clone`][41659]
+ [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
1.5x faster][41764]
+ [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
macros, but for printing to stderr.
- Stabilized APIs
+ [`OsString::shrink_to_fit`]
+ [`cmp::Reverse`]
+ [`Command::envs`]
+ [`thread::ThreadId`]
- Misc
+ [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
Windows Debugger.
+ [Rust will now release XZ compressed packages][rust-installer/57]
+ [rustup will now prefer to download rust packages with
XZ compression][rustup/1100] over GZip packages.
+ [Added the ability to escape `#` in rust documentation][41785] By adding
additional `#`'s ie. `##` is now `#`
- Temporarily disable generation of compiler docs due to build issue
- Change i586 build to produce i686 target instead of i586 so that
x86 Firefox can be built with Rust.
- Update to 1.18.0
-Language updates:
+ [Stabilize pub(restricted)][40556] `pub` can now accept amodule path to
make the item visible to just that module tree. Also accepts the keyword
`crate` to make something public to the whole crate but not users of the
library. Example: `pub(crate) mod utils;`. [RFC 1422].
+ [Stabilize `#![windows_subsystem]` attribute][40870] conservative exposure of the
`/SUBSYSTEM` linker flag on Windows platforms. [RFC 1665].
+ [Refactor of trait object type parsing][40043] Now `ty` in macros can accept
types like `Write + Send`, trailing `+` are now supported in trait objects,
and better error reporting for trait objects starting with `?Sized`.
+ [0e+10 is now a valid floating point literal][40589]
+ [Now warns if you bind a lifetime parameter to 'static][40734]
+ [Tuples, Enum variant fields, and structs with no `repr` attribute or with
`#[repr(Rust)]` are reordered to minimize padding and produce a smaller
representation in some cases.][40377]
-Compiler updates
+ [rustc can now emit mir with `--emit mir`][39891]
+ [Improved LLVM IR for trivial functions][40367]
+ [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723]
+ [rustc compilation is now 15%-20% faster][41469] Thanks to optimisation
opportunities found through profiling
+ [Improved backtrace formatting when panicking][38165]
- Library updates:
+ [Specialized `Vec::from_iter` being passed `vec::IntoIter`][40731] if the
iterator hasn't been advanced the original `Vec` is reassembled with no actual
iteration or reallocation.
+ [Simplified HashMap Bucket interface][40561] provides performance
improvements for iterating and cloning.
+ [Specialize Vec::from_elem to use calloc][40409]
+ [Fixed Race condition in fs::create_dir_all][39799]
+ [No longer caching stdio on Windows][40516]
+ [Optimized insertion sort in slice][40807] insertion sort in some cases
2.50%~ faster and in one case now 12.50% faster.
+ [Optimized `AtomicBool::fetch_nand`][41143]
- Stabilized APIs:
+ [`Child::try_wait`]
+ [`HashMap::retain`]
+ [`HashSet::retain`]
+ [`PeekMut::pop`]
+ [`TcpStream::peek`]
+ [`UdpSocket::peek`]
- Misc:
+ [rustdoc can now use pulldown-cmark with the `--enable-commonmark` flag][40338]
+ [Added rust-winbg script for better debugging on Windows][39983]
+ [Rust now uses the official cross compiler for NetBSD][40612]
+ [rustdoc now accepts `#` at the start of files][40828]
+ [Fixed jemalloc support for musl][41168]
- Compatibility Notes:
+ [Changes to how the `0` flag works in format!][40241] Padding zeroes are now
always placed after the sign if it exists and before the digits. With the `#`
flag the zeroes are placed after the prefix and before the digits.
+ [Due to the struct field optimisation][40377], using `transmute` on structs
that have no `repr` attribute or `#[repr(Rust)]` will no longer work. This has
always been undefined behavior, but is now more likely to break in practice.
+ [The refactor of trait object type parsing][40043] fixed a bug where `+` was
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send`
+ [Overlapping inherent `impl`s are now a hard error][40728]
+ [`PartialOrd` and `Ord` must agree on the ordering.][41270]
+ [`rustc main.rs -o out --emit=asm,llvm-ir`][41085] Now will output
`out.asm` and `out.ll` instead of only one of the filetypes.
+ [ calling a function that returns `Self` will no longer work][41805] when
the size of `Self` cannot be statically determined.
+ [rustc now builds with a "pthreads" flavour of MinGW for Windows GNU][40805]
this has caused a few regressions namely:
+ Changed the link order of local static/dynamic libraries (respecting the
order on given rather than having the compiler reorder).
+ Changed how MinGW is linked, native code linked to dynamic libraries
may require manually linking to the gcc support library (for the native
code itself)
- Adjustment of rust version dependency to prevent inability to
build in the adi rings.
- Add the cargo binaries for each arch, used for building rust only
these are not shipped, and don't factor in to the final product.
- Revert restriction of x86 arch to i586 for the interim.
- Update to 1.17.0
- Language updates
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Updates to libraries
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility Notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Restrict x86 builds to i686 only.
- Revert restriction on previous rust versions used for building
- Change x86 build target from i586 to i686
- Switch .spec to use rust-build compilation system
- Update config.toml to reflect rust-build changes
- Strict versioning for compilation so rustc always use previous
stable compiler
- Update to 1.16.0
- Language updates
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* [Clean up semantics of `self` in an import list][38313]
* [`Self` may appear in `impl` headers][38920]
* [`Self` may appear in struct expressions][39282]
- Compiler updates
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
a `.rmeta` file containing only crate metadata][38571]. This can be
used by tools like the Rust Language Service to perform
metadata-only builds.
* [Levenshtein based typo suggestions now work in most places, while
previously they worked only for fields and sometimes for local
variables][38927]. Together with the overhaul of "no
resolution"/"unexpected resolution" errors (#[38154]) they result in
large and systematic improvement in resolution diagnostics.
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
`U`][38670]
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
* [`rustc` no longer attempts to provide "consider using an explicit
lifetime" suggestions][37057]. They were inaccurate.
- Stabilized APIs
* [`VecDeque::truncate`]
* [`VecDeque::resize`]
* [`String::insert_str`]
* [`Duration::checked_add`]
* [`Duration::checked_sub`]
* [`Duration::checked_div`]
* [`Duration::checked_mul`]
* [`str::replacen`]
* [`str::repeat`]
* [`SocketAddr::is_ipv4`]
* [`SocketAddr::is_ipv6`]
* [`IpAddr::is_ipv4`]
* [`IpAddr::is_ipv6`]
* [`Vec::dedup_by`]
* [`Vec::dedup_by_key`]
* [`Result::unwrap_or_default`]
* [`<*const T>::wrapping_offset`]
* [`<*mut T>::wrapping_offset`]
* `CommandExt::creation_flags`
* [`File::set_permissions`]
* [`String::split_off`]
- Library updates
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
their argument by `Borrow` parameter][37761]
* [All public types in std implement `Debug`][38006]
* [`IpAddr` implements `From<Ipv4Addr>` and `From<Ipv6Addr>`][38327]
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [std: Fix partial writes in `LineWriter`][38062]
* [std: Clamp max read/write sizes on Unix][38062]
* [Use more specific panic message for `&str` slicing errors][38066]
* [`TcpListener::set_only_v6` is deprecated][38304]. This
functionality cannot be achieved in std currently.
* [`writeln!`, like `println!`, now accepts a form with no string
or formatting arguments, to just print a newline][38469]
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
* [Reduce the size of static data in `std_unicode::tables`][38781]
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
`Display`][38909]
* [`Duration` implements `Sum`][38712]
* [`String` implements `ToSocketAddrs`][39048]
- Misc fixes
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
the path to the Rust implementation][38589]
* [The `armv7-linux-androideabi` target no longer enables NEON
extensions, per Google's ABI guide][38413]
* [The stock standard library can be compiled for Redox OS][38401]
* [Rust has initial SPARC support][38726]. Tier 3. No builds
available.
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
builds available.
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
- Compatibility notes
* [Uninhabitable enums (those without any variants) no longer permit wildcard
match patterns][38069]
* In this release, references to uninhabited types can not be
pattern-matched. This was accidentally allowed in 1.15.
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
Windows][38274]
* [Clean up semantics of `self` in an import list][38313]
- Remove duplicate license files from _docdir: rpm 4.13 no longer
implicitly packages those files and we catch them using %license,
- remove bootstrap for s390x as binaries are available in
openSUSE:Factory:zSystems
- Fixes to build for archs armv7, aarch64, ppc64, s390x
- Update to 1.15.1
- Fix IntoIter::as_mut_slice's signature
- Correct rust-triples use in spec.
- Update to 1.15.0
- Language updates
* Basic procedural macros allowing custom `#[derive]`, aka "macros 1.1", are
stable. This allows popular code-generating crates like Serde and Diesel to
work ergonomically. [RFC 1681].
* [Tuple structs may be empty. Unary and empty tuple structs may be instantiated
with curly braces][36868]. Part of [RFC 1506].
* [A number of minor changes to name resolution have been activated][37127].
They add up to more consistent semantics, allowing for future evolution of
Rust macros. Specified in [RFC 1560], see its section on ["changes"] for
details of what is different. The breaking changes here have been transitioned
through the [`legacy_imports`] lint since 1.14, with no known regressions.
* [In `macro_rules`, `path` fragments can now be parsed as type parameter
bounds][38279]
* [`?Sized` can be used in `where` clauses][37791]
* [There is now a limit on the size of monomorphized types and it can be
modified with the `#![type_size_limit]` crate attribute, similarly to
the `#![recursion_limit]` attribute][37789]
- Compiler changes
* [On Windows, the compiler will apply dllimport attributes when linking to
extern functions][37973]. Additional attributes and flags can control which
library kind is linked and its name. [RFC 1717].
* [Rust-ABI symbols are no longer exported from cdylibs][38117]
* [The `--test` flag works with procedural macro crates][38107]
* [Fix `extern "aapcs" fn` ABI][37814]
* [The `-C no-stack-check` flag is deprecated][37636]. It does nothing.
* [The `format!` expander recognizes incorrect `printf` and shell-style
formatting directives and suggests the correct format][37613].
* [Only report one error for all unused imports in an import list][37456]
- Compiler performance
* [Avoid unnecessary `mk_ty` calls in `Ty::super_fold_with`][37705]
* [Avoid more unnecessary `mk_ty` calls in `Ty::super_fold_with`][37979]
* [Don't clone in `UnificationTable::probe`][37848]
* [Remove `scope_auxiliary` to cut RSS by 10%][37764]
* [Use small vectors in type walker][37760]
* [Macro expansion performance was improved][37701]
* [Change `HirVec<P<T>>` to `HirVec<T>` in `hir::Expr`][37642]
* [Replace FNV with a faster hash function][37229]
- For full change list, please see
https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
- Adjust build so that aarch and ARM architectures use bootstrap for
initial build
- Fix provides/conflicts/obsoletes
- Remove patch 0001-Fix-armv7-autodetection.patch
+ appears to have been fixed upstream.
- Building armv7hl arch with bootstrap binary since previously
packaged versions haven't successfully built in the past
- Update to version 1.14.0
+ Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+ Details: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
- Release highlights:
+ support for RFC 1492. This small addition lets you use `..`
in more places, for example when destructuring a struct or tuple
+ println!(), with no arguments, prints newline
+ Wrapping impls standard binary and unary operators on
references, as well as the Sum and Product iterators, making
references to these types easier to use
+ Implement From<Cow<str>> for String and From<Cow<[T]>> for
Vec<T>. These implementations make sense, but were not yet added.
+ Expand .zip() specialization to .map() and .cloned() for
improved performance.
+ Implement RefUnwindSafe for atomic types, as these types are
“unwind safe,” though that wasn’t obvious at first.
+ Specialize Vec::extend to Vec::extend_from_slice for
performance gains.
+ Don’t reuse HashMap random seeds. This helps to mitigate one
type of DDoS attack.
+ The internal memory layout of HashMap is more cache-friendly,
for significant improvements in some operations
+ Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
for other string types, so not having it on Cow is inconsistent.
- Update to 1.13.0
- Add conflicts to help avoid situations where previous versions
or rustc-bootstrap may be installed
- Update to 1.12.1
- Remove patches:
+ 0003-Disable-embedding-timestamp-information.patch - fixed
by upstream
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
- Revert from v1.13 to v1.11 in preparation for alternative
packaging.
- Add 0001-Fix-armv7-autodetection.patch
- Add 0002-Add-armv6l-autodetection.patch
* fix armv6 and armv7 builds
- Update to 1.11
+ Add support for cdylib crate types
- Remove merged patches:
* 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
* 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Set DT_SONAME when building dylibs
* Add add-soname.patch
- Move to package named rust
- Update to 1.10
+ -C panic=abort flag for rustc or equivalent in Cargo.toml
+ new crate type cdylib, embeded library for other languages
+ In addition, a number of performance improvements landed in
the compiler, and so did a number of usability improvements
across the documentation, rustdoc itself, and various error
messages.
+ This is the first release, which is guaranteed to be built
by previous stable release of rustc
- Packaging:
+ drop bootstrap mode and use rustc 1.9
+ move documentation to versioned directory
- Use smp_mflags for parallel building. Avoid sh invocation for
simple ldconfig calls. Drop archaic %clean section.
Drop filler words from summary.
- Rename source package to rustc-1_9 to conform to naming standards.
- Rename source package to rustc-190 to avoid unecessary rebuilds
of rustc packages on upgrade
- Move stage0 binaries into separate package
- Disable embedding timestamp information
- Add 0003-Disable-embedding-timestamp-information.patch
- Rename package to rustc-stable
- Add rpmlintrc
- Make bootstrapping conditional
- Fix misleading indentation errors on GCC 6.0
- Remove snap2.sh
- Add 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
- Add 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
- Update to version 1.9.0
+ Stabilization of std::panic
+ Deprecation warnings, #[deprecated] attribute
+ Compile time improvements
+ Rolling out use of specialization
+ Library stabilizations
About 80 library functions and methods are now stable in 1.
+ http://blog.rust-lang.org/2016/05/26/Rust-1.9.html
- Update to version 1.8.0:
+ Various “operator equals” operators, such as += and -=, are now
overloadable via various traits.
+ Empty struct declaration can contain cutly braces
+ New (non default) cargo based build system for rustc
+ About 20 library functions and methods are now stable in 1.8
- Update to version 1.7.0:
+ Many stabilized APIs
+ Improved library performance
+ BTreeSet and its iterators, Iter, IntoIter, and Range are covariant over their contained type.
+ LinkedList and its iterators, Iter and IntoIter are covariant over their contained type.
+ str::replace now accepts a Pattern, like other string searching methods.
+ Any is implemented for unsized types.
+ Hash is implemented for Duration.
+ Soundness fixes, may break code. See RFC 1214 for more information.
+ Several bugs in the compiler's visibility calculations were fixed.
+ Parsing "." as a float results in an error instead of 0.
+ Borrows of closure parameters may not outlive the closure.
- Update to version 1.6.0:
+ Stabilization of libcore and other library functions
+ Crates.io disallows wildcards
- Update to version 1.4.0:
+ Several changes have been made to fix type soundness and improve the
behavior of associated types. See RFC 1214. Although we have mostly
introduced these changes as warnings this release, to become errors next
release, there are still some scenarios that will see immediate breakage.
+ The str::lines and BufRead::lines iterators treat \r\n as line breaks in
addition to \n.
+ Loans of 'static lifetime extend to the end of a function.
+ str::parse no longer introduces avoidable rounding error when parsing
floating point numbers. Together with earlier changes to float
formatting/output, "round trips" like f.to_string().parse() now preserve
the value of f exactly. Additionally, leading plus signs are now accepted.
- Split the gdb support to rust-gdb subpackage
- Update to version 1.3.0:
+ API stabilization, including the new Duration API and
enhancements to Error and Hash/Hasher.
+ The substring matcher now uses a more efficient algorithm.
+ There were improvements to zero filling that speed up
Vec::resize and Read::read_to_end.
+ The implementation of Read::read_to_end has been specialized
for stdin and File, resulting in additional speedups.
+ The PartialEq implementation on slices is now much faster.
- Packaging: renamed source package to rustc to match upstream
- Update to version 1.2.0:
+ An across-the-board improvement to real-world compiler performance.
Representative crates include hyper (compiles 1.16x faster), html5ever
(1.62x faster), regex (1.32x faster) and rust-encoding (1.35x faster). You
can explore some of this performance data at Nick Cameron’s preliminary
tracking site, using dates 2015-05-15 to 2015-06-25.
+ Parallel codegen is now working, and produces a 33% speedup when
bootstrapping on a 4 core machine. Parallel codegen is particularly useful
for debug builds, since it prevents some optimizations; but it can also be
used with optimizations as an effective -O1 flag. It can be activated
by passing -C codegen-units=N to rustc, where N is the desired number
of threads.
- Update to version 1.1.0:
+ The std::fs module has been expanded to expand the set of
functionality exposed:
* DirEntry now supports optimizations like file_type and
metadata which don't incur a syscall on some platforms.
* A symlink_metadata function has been added.
* The fs::Metadata structure now lowers to its OS counterpart,
providing access to all underlying information.
+ The compiler now contains extended explanations of many errors.
When an error with an explanation occurs the compiler suggests
using the --explain flag to read the explanation. Error
explanations are also available online.
+ Thanks to multiple improvements to type checking, as well as other
work, the time to bootstrap the compiler decreased by 32%.
- drop tar_scm service and use source urls
- Update to version 1.0.0:
+ lint: deny transmuting from immutable to mutable, since it's undefined behavior
+ std: update select internals to not use mutable transmuting
+ std: Remove index notation on slice iterators
+ std: Destabilize io::BufStream
+ Make RwLock::try_write try to obtain a write lock
+ std: Remove addition on vectors for now
+ thread: right now you can't actually set those printers
+ Fix #24872, XSS in docs not found page.
+ Update AUTHORS.txt and RELEASES.md for 1.0
+ std: Mark `mem::forget` as a safe function
+ core: impl AsRef<[u8]> for str
+ collections: impl AsRef<[u8]> for String
+ collections: change bounds of SliceConcatExt implementations to use Borrow instead of AsRef
+ Fix invalid references due to the automated string substitution
+ dropck: must assume `Box<Trait + 'a>` has a destructor of interest.
- Rename binary package to rust
- Add build for i586
- Only run fdupes on SUSE builds
- Changed version format
- Update to version 1.0.0~beta4+git.1430848988.f873dc5:
+ Introduce a `FreeRegionMap` data structure. (#22779)
+ Fix #20616
+ std: Fix inheriting standard handles on windows
+ Fix #24895.
+ Fix zero-normalization of the pos of a `MultiByteChar`.
+ lint for mixing `#[repr(C)]` with an impl of `Drop`.
+ Bump prerelease version to .4
+ Add downcasting to std::error::Error
- Format spec file
- Update to version 1.0.0beta3+git.1429985089.5241bf9:
+ Update Windows caveats
+ Utilize if..let for get_mut doc-comment examples
+ Indicate keywords are code-like in Fuse::reset_fuse doc comment
+ doc: improve/fix 'let' FAQ
+ Fix broken links in the docs
+ Indicate None is code-like in doc comments
+ Fixed typo in hash_map::Entry documentation
+ Remove an unused import on windows
- Version 1.0.0-beta3.
OBS-URL: https://build.opensuse.org/request/show/520549
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=114
2017-09-04 05:30:42 +02:00
|
|
|
%files -n rust-src
|
|
|
|
%dir %{rustlibdir}
|
|
|
|
%{rustlibdir}/src
|
|
|
|
|
2017-02-11 06:21:44 +01:00
|
|
|
%changelog
|