2024-07-22 17:44:25 +02:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Jun 14 06:58:31 UTC 2024 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.79.0 - for details see the rust1.79 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue May 14 03:02:25 UTC 2024 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.78.0 - for details see the rust1.78 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Mar 26 05:11:31 UTC 2024 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.77.0 - for details see the rust1.77 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Feb 9 00:57:50 UTC 2024 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.76.0 - for details see the rust1.76 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Jan 1 00:02:10 UTC 2024 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.75.0 - for details see the rust1.75 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Nov 17 01:36:39 UTC 2023 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.74.0 - for details see the rust1.74 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Oct 6 06:17:39 UTC 2023 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.73.0 - for details see the rust1.73 package
|
|
|
|
|
|
2023-10-06 12:11:09 +02:00
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Aug 27 23:05:13 UTC 2023 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.72.0 - for details see the rust1.72 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Jul 17 02:22:05 UTC 2023 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.71.0 - for details see the rust1.71 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Jun 3 02:41:35 UTC 2023 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.70.0 - for details see the rust1.70 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Apr 21 03:28:38 UTC 2023 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.69.0 - for details see the rust1.69 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Mar 10 02:24:52 UTC 2023 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.68.0 - for details see the rust1.68 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Feb 14 01:29:41 UTC 2023 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.67.1 - for details see the rust1.67 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jan 31 00:04:26 UTC 2023 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.67.0 - for details see the rust1.67 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Dec 16 03:52:06 UTC 2022 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.66.0 - for details see the rust1.66 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Nov 4 00:07:43 UTC 2022 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.65.0 - for details see the rust1.65 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Sep 28 12:23:25 UTC 2022 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
|
|
|
|
|
|
|
|
|
- Enable armv6 again - boo#1196328
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Sep 25 01:15:23 UTC 2022 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.64.0 - for details see the rust1.64 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Aug 23 02:45:19 UTC 2022 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.63.0 - for details see the rust1.63 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Jul 4 04:58:15 UTC 2022 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.62.0 - for details see the rust1.62 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri May 20 02:39:19 UTC 2022 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.61.0 - for details see the rust1.61 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Apr 8 01:58:13 UTC 2022 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.60.0 - for details see the rust1.60 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Feb 25 01:23:09 UTC 2022 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.59.0 - for details see the rust1.59 package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Feb 16 02:08:23 UTC 2022 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update package description to help users choose what tooling
|
|
|
|
|
to install.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Jan 17 10:56:59 UTC 2022 - Dominique Leuenberger <dimstar@opensuse.org>
|
|
|
|
|
|
|
|
|
|
- Provide rust+cargo by cargo: all cargo<n> package provide this
|
|
|
|
|
symbol too. Having the meta package provide it allows OBS to have
|
|
|
|
|
a generic prefernece on the meta package for all packages 'just'
|
|
|
|
|
requiring rust+cargo.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Jan 14 05:48:07 UTC 2022 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.58.0
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Dec 3 03:40:19 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.57.0
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Nov 8 00:35:24 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.56.1
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Oct 25 22:36:36 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Remove rls/gdb as they are superceded by rustup
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Sep 10 03:07:24 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.55
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Aug 16 02:27:30 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Change expression of dependency requirements to resolve zypper dup
|
|
|
|
|
issues
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Jul 30 03:40:08 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.54
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jul 6 10:40:26 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
|
|
|
|
|
|
|
|
|
|
- Only install rls/README when building devtools, as otherwise this
|
|
|
|
|
file would end up in no package.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jul 6 01:47:31 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Revert package to be arch dependent based on reviewer feedback
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Jun 28 01:25:12 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Migrate to parallel versioned rust installs.
|
|
|
|
|
- Remove artefacts for building rust
|
|
|
|
|
* ignore-Wstring-conversion.patch
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Jun 18 00:52:43 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.53:
|
|
|
|
|
+ Language
|
|
|
|
|
- [You can now use unicode for identifiers.][83799] This allows multilingual
|
|
|
|
|
identifiers but still doesn't allow glyphs that are not considered characters
|
|
|
|
|
such as `◆` or `🦀`. More specifically you can now use any identifier that
|
|
|
|
|
matches the UAX #31 "Unicode Identifier and Pattern Syntax" standard. This
|
|
|
|
|
is the same standard as languages like Python, however Rust uses NFC
|
|
|
|
|
normalization which may be different from other languages.
|
|
|
|
|
- [You can now specify "or patterns" inside pattern matches.][79278]
|
|
|
|
|
Previously you could only use `|` (OR) on complete patterns. E.g.
|
|
|
|
|
```rust
|
|
|
|
|
let x = Some(2u8);
|
|
|
|
|
// Before
|
|
|
|
|
matches!(x, Some(1) | Some(2));
|
|
|
|
|
// Now
|
|
|
|
|
matches!(x, Some(1 | 2));
|
|
|
|
|
```
|
|
|
|
|
- [Added the `:pat_param` `macro_rules!` matcher.][83386] This matcher
|
|
|
|
|
has the same semantics as the `:pat` matcher. This is to allow `:pat`
|
|
|
|
|
to change semantics to being a pattern fragment in a future edition.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- [Updated the minimum external LLVM version to LLVM 10.][83387]
|
|
|
|
|
- [Added Tier 3\* support for the `wasm64-unknown-unknown` target.][80525]
|
|
|
|
|
- [Improved debuginfo for closures and async functions on Windows MSVC.][83941]
|
|
|
|
|
|
|
|
|
|
\* Refer to Rust's [platform support page][platform-support-doc] for more
|
|
|
|
|
information on Rust's tiered platform support.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- [Abort messages will now forward to `android_set_abort_message` on
|
|
|
|
|
Android platforms when available.][81469]
|
|
|
|
|
- [`slice::IterMut<'_, T>` now implements `AsRef<[T]>`][82771]
|
|
|
|
|
- [Arrays of any length now implement `IntoIterator`.][84147]
|
|
|
|
|
Currently calling `.into_iter()` as a method on an array will
|
|
|
|
|
return `impl Iterator<Item=&T>`, but this may change in a
|
|
|
|
|
future edition to change `Item` to `T`. Calling `IntoIterator::into_iter`
|
|
|
|
|
directly on arrays will provide `impl Iterator<Item=T>` as expected.
|
|
|
|
|
- [`leading_zeros`, and `trailing_zeros` are now available on all
|
|
|
|
|
`NonZero` integer types.][84082]
|
|
|
|
|
- [`{f32, f64}::from_str` now parse and print special values
|
|
|
|
|
(`NaN`, `-0`) according to IEEE RFC 754.][78618]
|
|
|
|
|
- [You can now index into slices using `(Bound<usize>, Bound<usize>)`.][77704]
|
|
|
|
|
- [Add the `BITS` associated constant to all numeric types.][82565]
|
|
|
|
|
+ Cargo
|
|
|
|
|
- [Cargo now supports git repositories where the default `HEAD` branch is not
|
|
|
|
|
"master".][cargo/9392] This also includes a switch to the version 3 `Cargo.lock` format
|
|
|
|
|
which can handle default branches correctly.
|
|
|
|
|
- [macOS targets now default to `unpacked` split-debuginfo.][cargo/9298]
|
|
|
|
|
- [The `authors` field is no longer included in `Cargo.toml` for new
|
|
|
|
|
projects.][cargo/9282]
|
|
|
|
|
+ Rustdoc
|
|
|
|
|
- [Added the `rustdoc::bare_urls` lint that warns when you have URLs
|
|
|
|
|
without hyperlinks.][81764]
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- [Implement token-based handling of attributes during expansion][82608]
|
|
|
|
|
- [`Ipv4::from_str` will now reject octal format IP addresses in addition
|
|
|
|
|
to rejecting hexadecimal IP addresses.][83652] The octal format can lead
|
|
|
|
|
to confusion and potential security vulnerabilities and [is no
|
|
|
|
|
longer recommended][ietf6943].
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon May 10 22:41:00 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.52.1:
|
|
|
|
|
- This release works around broken builds on 1.52.0, which are caused by newly
|
|
|
|
|
added verification. The bugs this verification detects are present in all
|
|
|
|
|
Rust versions, and can trigger miscompilations in incremental builds, so
|
|
|
|
|
downgrading to a prior stable version is not a fix.
|
|
|
|
|
- What should a Rust programmer do in response?
|
|
|
|
|
- upgrade to 1.52.1
|
|
|
|
|
- deleting your incremental compilation cache (e.g. by running cargo clean)
|
|
|
|
|
- forcing incremental compilation to be disabled, by setting
|
|
|
|
|
CARGO_INCREMENTAL=0 in your environment or build.incremental to false in
|
|
|
|
|
the config.toml.
|
|
|
|
|
- For more: https://blog.rust-lang.org/2021/05/10/Rust-1.52.1.html
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri May 7 00:29:37 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.52:
|
|
|
|
|
+ Language
|
|
|
|
|
- [Added the `unsafe_op_in_unsafe_fn` lint, which checks whether the unsafe code
|
|
|
|
|
in an `unsafe fn` is wrapped in a `unsafe` block.][79208] This lint
|
|
|
|
|
is allowed by default, and may become a warning or hard error in a
|
|
|
|
|
future edition.
|
|
|
|
|
- [You can now cast mutable references to arrays to a pointer of the same type as
|
|
|
|
|
the element.][81479]
|
|
|
|
|
+ Compiler
|
|
|
|
|
- [Upgraded the default LLVM to LLVM 12.][81451]
|
|
|
|
|
- Added tier 3\* support for the following targets.
|
|
|
|
|
- [`s390x-unknown-linux-musl`][82166]
|
|
|
|
|
- [`riscv32gc-unknown-linux-musl` & `riscv64gc-unknown-linux-musl`][82202]
|
|
|
|
|
- [`powerpc-unknown-openbsd`][82733]
|
|
|
|
|
+ Libraries
|
|
|
|
|
- [`OsString` now implements `Extend` and `FromIterator`.][82121]
|
|
|
|
|
- [`cmp::Reverse` now has `#[repr(transparent)]` representation.][81879]
|
|
|
|
|
- [`Arc<impl Error>` now implements `error::Error`.][80553]
|
|
|
|
|
- [All integer division and remainder operations are now `const`.][80962]
|
|
|
|
|
+ Stabilised APIs
|
|
|
|
|
- [`Arguments::as_str`]
|
|
|
|
|
- [`char::MAX`]
|
|
|
|
|
- [`char::REPLACEMENT_CHARACTER`]
|
|
|
|
|
- [`char::UNICODE_VERSION`]
|
|
|
|
|
- [`char::decode_utf16`]
|
|
|
|
|
- [`char::from_digit`]
|
|
|
|
|
- [`char::from_u32_unchecked`]
|
|
|
|
|
- [`char::from_u32`]
|
|
|
|
|
- [`slice::partition_point`]
|
|
|
|
|
- [`str::rsplit_once`]
|
|
|
|
|
- [`str::split_once`]
|
|
|
|
|
The following previously stable APIs are now `const`.
|
|
|
|
|
- [`char::len_utf8`]
|
|
|
|
|
- [`char::len_utf16`]
|
|
|
|
|
- [`char::to_ascii_uppercase`]
|
|
|
|
|
- [`char::to_ascii_lowercase`]
|
|
|
|
|
- [`char::eq_ignore_ascii_case`]
|
|
|
|
|
- [`u8::to_ascii_uppercase`]
|
|
|
|
|
- [`u8::to_ascii_lowercase`]
|
|
|
|
|
- [`u8::eq_ignore_ascii_case`]
|
|
|
|
|
+ Rustdoc
|
|
|
|
|
- [Rustdoc lints are now treated as a tool lint, meaning that
|
|
|
|
|
lints are now prefixed with `rustdoc::` (e.g. `#[warn(rustdoc::non_autolinks)]`).][80527]
|
|
|
|
|
Using the old style is still allowed, and will become a warning in
|
|
|
|
|
a future release.
|
|
|
|
|
- [Rustdoc now supports argument files.][82261]
|
|
|
|
|
- [Rustdoc now generates smart punctuation for documentation.][79423]
|
|
|
|
|
- [You can now use "task lists" in Rustdoc Markdown.][81766] E.g.
|
|
|
|
|
```markdown
|
|
|
|
|
- [x] Complete
|
|
|
|
|
- [ ] Todo
|
|
|
|
|
```
|
|
|
|
|
+ Misc
|
|
|
|
|
- [You can now pass multiple filters to tests.][81356] E.g.
|
|
|
|
|
`cargo test -- foo bar` will run all tests that match `foo` and `bar`.
|
|
|
|
|
- [Rustup now distributes PDB symbols for the `std` library on Windows,
|
|
|
|
|
allowing you to see `std` symbols when debugging.][82218]
|
|
|
|
|
+ Internal Only
|
|
|
|
|
These changes provide no direct user facing benefits, but represent significant
|
|
|
|
|
improvements to the internals and overall performance of rustc and
|
|
|
|
|
related tools.
|
|
|
|
|
- [Check the result cache before the DepGraph when ensuring queries][81855]
|
|
|
|
|
- [Try fast_reject::simplify_type in coherence before doing full check][81744]
|
|
|
|
|
- [Only store a LocalDefId in some HIR nodes][81611]
|
|
|
|
|
- [Store HIR attributes in a side table][79519]
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
-------------------
|
|
|
|
|
- [Cargo build scripts are now forbidden from setting `RUSTC_BOOTSTRAP`.][cargo/9181]
|
|
|
|
|
- [Removed support for the `x86_64-rumprun-netbsd` target.][82594]
|
|
|
|
|
- [Deprecated the `x86_64-sun-solaris` target in favor of `x86_64-pc-solaris`.][82216]
|
|
|
|
|
- [Rustdoc now only accepts `,`, ` `, and `\t` as delimiters for specifying
|
|
|
|
|
languages in code blocks.][78429]
|
|
|
|
|
- [Rustc now catches more cases of `pub_use_of_private_extern_crate`][80763]
|
|
|
|
|
- [Changes in how proc macros handle whitespace may lead to panics when used
|
|
|
|
|
with older `proc-macro-hack` versions. A `cargo update` should be sufficient to fix
|
|
|
|
|
this in all cases.][84136]
|
|
|
|
|
- Remove support-llvm12.patch - feature of 1.52
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Apr 17 20:10:00 UTC 2021 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
|
|
|
|
|
|
|
|
|
- Add support-llvm12.patch to support building with LLVM 12.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Apr 6 01:52:35 UTC 2021 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.51:
|
|
|
|
|
+ Language
|
|
|
|
|
- [You can now parameterize items such as functions, traits, and `struct`s by constant
|
|
|
|
|
values in addition to by types and lifetimes.][79135] Also known as "const generics"
|
|
|
|
|
E.g. you can now write the following. Note: Only values of primitive integers,
|
|
|
|
|
`bool`, or `char` types are currently permitted.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- [Added the `-Csplit-debuginfo` codegen option for macOS platforms.][79570]
|
|
|
|
|
This option controls whether debug information is split across multiple files
|
|
|
|
|
or packed into a single file. **Note** This option is unstable on other platforms.
|
|
|
|
|
- [Added tier 3\* support for `aarch64_be-unknown-linux-gnu`,
|
|
|
|
|
`aarch64-unknown-linux-gnu_ilp32`, and `aarch64_be-unknown-linux-gnu_ilp32` targets.][81455]
|
|
|
|
|
- [Added tier 3 support for `i386-unknown-linux-gnu` and `i486-unknown-linux-gnu` targets.][80662]
|
|
|
|
|
- [The `target-cpu=native` option will now detect individual features of CPUs.][80749]
|
|
|
|
|
\* Refer to Rust's [platform support page][platform-support-doc] for more
|
|
|
|
|
information on Rust's tiered platform support.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- [`Box::downcast` is now also implemented for any `dyn Any + Send + Sync` object.][80945]
|
|
|
|
|
- [`str` now implements `AsMut<str>`.][80279]
|
|
|
|
|
- [`u64` and `u128` now implement `From<char>`.][79502]
|
|
|
|
|
- [`Error` is now implemented for `&T` where `T` implements `Error`.][75180]
|
|
|
|
|
- [`Poll::{map_ok, map_err}` are now implemented for `Poll<Option<Result<T, E>>>`.][80968]
|
|
|
|
|
- [`unsigned_abs` is now implemented for all signed integer types.][80959]
|
|
|
|
|
- [`io::Empty` now implements `io::Seek`.][78044]
|
|
|
|
|
- [`rc::Weak<T>` and `sync::Weak<T>`'s methods such as `as_ptr` are now implemented for
|
|
|
|
|
`T: ?Sized` types.][80764]
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- [`Arc::decrement_strong_count`]
|
|
|
|
|
- [`Arc::increment_strong_count`]
|
|
|
|
|
- [`Once::call_once_force`]
|
|
|
|
|
- [`Peekable::next_if_eq`]
|
|
|
|
|
- [`Peekable::next_if`]
|
|
|
|
|
- [`Seek::stream_position`]
|
|
|
|
|
- [`array::IntoIter`]
|
|
|
|
|
- [`panic::panic_any`]
|
|
|
|
|
- [`ptr::addr_of!`]
|
|
|
|
|
- [`ptr::addr_of_mut!`]
|
|
|
|
|
- [`slice::fill_with`]
|
|
|
|
|
- [`slice::split_inclusive_mut`]
|
|
|
|
|
- [`slice::split_inclusive`]
|
|
|
|
|
- [`slice::strip_prefix`]
|
|
|
|
|
- [`slice::strip_suffix`]
|
|
|
|
|
- [`str::split_inclusive`]
|
|
|
|
|
- [`sync::OnceState`]
|
|
|
|
|
- [`task::Wake`]
|
|
|
|
|
+ Cargo
|
|
|
|
|
- [Added the `split-debuginfo` profile option to control the -Csplit-debuginfo
|
|
|
|
|
codegen option.][cargo/9112]
|
|
|
|
|
- [Added the `resolver` field to `Cargo.toml` to enable the new feature resolver
|
|
|
|
|
and CLI option behavior.][cargo/8997] Version 2 of the feature resolver will try
|
|
|
|
|
to avoid unifying features of dependencies where that unification could be unwanted.
|
|
|
|
|
Such as using the same dependency with a `std` feature in a build scripts and
|
|
|
|
|
proc-macros, while using the `no-std` feature in the final binary. See the
|
|
|
|
|
[Cargo book documentation][feature-resolver@2.0] for more information on the feature.
|
|
|
|
|
+ Rustdoc
|
|
|
|
|
- [Rustdoc will now include documentation for methods available from _nested_ `Deref` traits.][80653]
|
|
|
|
|
- [You can now provide a `--default-theme` flag which sets the default theme to use for
|
|
|
|
|
documentation.][79642]
|
|
|
|
|
Various improvements to intra-doc links:
|
|
|
|
|
- [You can link to non-path primitives such as `slice`.][80181]
|
|
|
|
|
- [You can link to associated items.][74489]
|
|
|
|
|
- [You can now include generic parameters when linking to items, like `Vec<T>`.][76934]
|
|
|
|
|
+ Misc
|
|
|
|
|
- [You can now pass `--include-ignored` to tests (e.g. with
|
|
|
|
|
`cargo test -- --include-ignored`) to include testing tests marked `#[ignore]`.][80053]
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- [WASI platforms no longer use the `wasm-bindgen` ABI, and instead use the wasm32 ABI.][79998]
|
|
|
|
|
- [`rustc` no longer promotes division, modulo and indexing operations to `const` that
|
|
|
|
|
could fail.][80579]
|
|
|
|
|
- [The minimum version of glibc for the following platforms has been bumped to version 2.31
|
|
|
|
|
for the distributed artifacts.][81521]
|
|
|
|
|
- `armv5te-unknown-linux-gnueabi`
|
|
|
|
|
- `sparc64-unknown-linux-gnu`
|
|
|
|
|
- `thumbv7neon-unknown-linux-gnueabihf`
|
|
|
|
|
- `armv7-unknown-linux-gnueabi`
|
|
|
|
|
- `x86_64-unknown-linux-gnux32`
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Mar 29 02:35:45 UTC 2021 - opensuse-packaging@opensuse.org
|
|
|
|
|
|
|
|
|
|
- Rebased patches:
|
|
|
|
|
+ ignore-Wstring-conversion.patch (offset / fuzz)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Mar 28 07:56:31 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net>
|
|
|
|
|
|
|
|
|
|
- rust.spec: Fix typo.
|
|
|
|
|
Add work-around for cargo not respecting _libexecdir on Leap.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Mar 11 16:21:34 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
|
|
|
|
|
|
|
|
|
- Add bootstrap for armv6
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Feb 24 15:56:33 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.50:
|
|
|
|
|
* This fixes build on armv7 - boo#1181643
|
|
|
|
|
+ Language
|
|
|
|
|
- You can now use const values for x in [x; N] array expressions.
|
|
|
|
|
This has been technically possible since 1.38.0, as it was
|
|
|
|
|
unintentionally stabilized.
|
|
|
|
|
- Assignments to ManuallyDrop<T> union fields are now considered safe.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Added tier 3* support for the armv5te-unknown-linux-uclibceabi
|
|
|
|
|
target.
|
|
|
|
|
- Added tier 3 support for the aarch64-apple-ios-macabi target.
|
|
|
|
|
- The x86_64-unknown-freebsd is now built with the full toolset.
|
|
|
|
|
- Dropped support for all cloudabi targets.
|
|
|
|
|
* Refer to Rust's platform support page for more information on
|
|
|
|
|
Rust's tiered platform support.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- proc_macro::Punct now implements PartialEq<char>.
|
|
|
|
|
- ops::{Index, IndexMut} are now implemented for fixed sized
|
|
|
|
|
arrays of any length.
|
|
|
|
|
- On Unix platforms, the std::fs::File type now has a "niche" of -1.
|
|
|
|
|
This value cannot be a valid file descriptor, and now means Option<File>
|
|
|
|
|
takes up the same amount of space as File.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
bool::then
|
|
|
|
|
btree_map::Entry::or_insert_with_key
|
|
|
|
|
f32::clamp
|
|
|
|
|
f64::clamp
|
|
|
|
|
hash_map::Entry::or_insert_with_key
|
|
|
|
|
Ord::clamp
|
|
|
|
|
RefCell::take
|
|
|
|
|
slice::fill
|
|
|
|
|
UnsafeCell::get_mut
|
|
|
|
|
- The following previously stable methods are now const.
|
|
|
|
|
IpAddr::is_ipv4
|
|
|
|
|
IpAddr::is_ipv6
|
|
|
|
|
IpAddr::is_unspecified
|
|
|
|
|
IpAddr::is_loopback
|
|
|
|
|
IpAddr::is_multicast
|
|
|
|
|
Ipv4Addr::octets
|
|
|
|
|
Ipv4Addr::is_loopback
|
|
|
|
|
Ipv4Addr::is_private
|
|
|
|
|
Ipv4Addr::is_link_local
|
|
|
|
|
Ipv4Addr::is_multicast
|
|
|
|
|
Ipv4Addr::is_broadcast
|
|
|
|
|
Ipv4Addr::is_documentation
|
|
|
|
|
Ipv4Addr::to_ipv6_compatible
|
|
|
|
|
Ipv4Addr::to_ipv6_mapped
|
|
|
|
|
Ipv6Addr::segments
|
|
|
|
|
Ipv6Addr::is_unspecified
|
|
|
|
|
Ipv6Addr::is_loopback
|
|
|
|
|
Ipv6Addr::is_multicast
|
|
|
|
|
Ipv6Addr::to_ipv4
|
|
|
|
|
Layout::size
|
|
|
|
|
Layout::align
|
|
|
|
|
Layout::from_size_align
|
|
|
|
|
pow for all integer types.
|
|
|
|
|
checked_pow for all integer types.
|
|
|
|
|
saturating_pow for all integer types.
|
|
|
|
|
wrapping_pow for all integer types.
|
|
|
|
|
next_power_of_two for all unsigned integer types.
|
|
|
|
|
checked_next_power_of_two for all unsigned integer types.
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Added the [build.rustc-workspace-wrapper] option. This option
|
|
|
|
|
sets a wrapper to execute instead of rustc, for workspace members only.
|
|
|
|
|
- cargo:rerun-if-changed will now, if provided a directory,
|
|
|
|
|
scan the entire contents of that directory for changes.
|
|
|
|
|
- Added the --workspace flag to the cargo update command.
|
|
|
|
|
+ Misc
|
|
|
|
|
- The search results tab and the help button are focusable
|
|
|
|
|
with keyboard in rustdoc.
|
|
|
|
|
- Running tests will now print the total time taken to execute.
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- The compare_and_swap method on atomics has been deprecated.
|
|
|
|
|
It's recommended to use the compare_exchange and
|
|
|
|
|
compare_exchange_weak methods instead.
|
|
|
|
|
- Changes in how TokenStreams are checked have fixed some cases
|
|
|
|
|
where you could write unhygenic macro_rules! macros.
|
|
|
|
|
- #![test] as an inner attribute is now considered unstable
|
|
|
|
|
like other inner macro attributes, and reports an error by
|
|
|
|
|
default through the soft_unstable lint.
|
|
|
|
|
- Overriding a forbid lint at the same level that it was set
|
|
|
|
|
is now a hard error.
|
|
|
|
|
- You can no longer intercept panic! calls by supplying your own
|
|
|
|
|
macro. It's recommended to use the #[panic_handler] attribute
|
|
|
|
|
to provide your own implementation.
|
|
|
|
|
- Semi-colons after item statements (e.g. struct Foo {};)
|
|
|
|
|
now produce a warning.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Jan 10 13:15:07 UTC 2021 - Neal Gompa <ngompa13@gmail.com>
|
|
|
|
|
|
|
|
|
|
- Add riscv64 build
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Jan 9 16:50:11 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net>
|
|
|
|
|
|
|
|
|
|
- <https://github.com/rust-lang/rust/issues/74976>: Add "--stage 1"
|
|
|
|
|
to the "./x.py doc" call to ensure the newly built compiler gets
|
|
|
|
|
used.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Jan 9 09:26:51 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net>
|
|
|
|
|
|
|
|
|
|
- Leap 15.3 does not provide a suitable llvm-devel package, hence
|
|
|
|
|
explicitly require llvm9-devel. Details can be seen in the following
|
|
|
|
|
e-mail thread
|
|
|
|
|
<https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/ZQWAMG2VYBSI2BFM7G3H5YG26ALXWAOA/>
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Jan 3 11:33:37 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.49.0
|
|
|
|
|
+ Language
|
|
|
|
|
- Unions can now implement Drop, and you can now have a field in
|
|
|
|
|
a union with ManuallyDrop<T>.
|
|
|
|
|
- You can now cast uninhabited enums to integers.
|
|
|
|
|
- You can now bind by reference and by move in patterns. This
|
|
|
|
|
allows you to selectively borrow individual components of a type.
|
|
|
|
|
E.g.
|
|
|
|
|
|
|
|
|
|
#[derive(Debug)]
|
|
|
|
|
struct Person {
|
|
|
|
|
name: String,
|
|
|
|
|
age: u8,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let person = Person {
|
|
|
|
|
name: String::from("Alice"),
|
|
|
|
|
age: 20,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// `name` is moved out of person, but `age` is referenced.
|
|
|
|
|
let Person { name, ref age } = person;
|
|
|
|
|
println!("{} {}", name, age);
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Added tier 1* support for aarch64-unknown-linux-gnu.
|
|
|
|
|
- Added tier 2 support for aarch64-apple-darwin.
|
|
|
|
|
- Added tier 2 support for aarch64-pc-windows-msvc.
|
|
|
|
|
- Added tier 3 support for mipsel-unknown-none.
|
|
|
|
|
- Raised the minimum supported LLVM version to LLVM 9.
|
|
|
|
|
- Output from threads spawned in tests is now captured.
|
|
|
|
|
- Change os and vendor values to "none" and "unknown" for some targets
|
|
|
|
|
* Refer to Rust's platform support page for more information on Rust's
|
|
|
|
|
tiered platform support.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- RangeInclusive now checks for exhaustion when calling contains and
|
|
|
|
|
indexing.
|
|
|
|
|
- ToString::to_string now no longer shrinks the internal buffer in
|
|
|
|
|
the default implementation.
|
|
|
|
|
- ops::{Index, IndexMut} are now implemented for fixed sized arrays
|
|
|
|
|
of any length.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- slice::select_nth_unstable
|
|
|
|
|
- slice::select_nth_unstable_by
|
|
|
|
|
- slice::select_nth_unstable_by_key
|
|
|
|
|
The following previously stable methods are now const.
|
|
|
|
|
- Poll::is_ready
|
|
|
|
|
- Poll::is_pending
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Building a crate with cargo-package should now be independently
|
|
|
|
|
reproducible.
|
|
|
|
|
- cargo-tree now marks proc-macro crates.
|
|
|
|
|
- Added CARGO_PRIMARY_PACKAGE build-time environment variable. This
|
|
|
|
|
variable will be set if the crate being built is one the user
|
|
|
|
|
selected to build, either with -p or through defaults.
|
|
|
|
|
- You can now use glob patterns when specifying packages & targets.
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- Demoted i686-unknown-freebsd from host tier 2 to target tier 2
|
|
|
|
|
support.
|
|
|
|
|
- Macros that end with a semi-colon are now treated as statements
|
|
|
|
|
even if they expand to nothing.
|
|
|
|
|
- Rustc will now check for the validity of some built-in attributes
|
|
|
|
|
on enum variants. Previously such invalid or unused attributes
|
|
|
|
|
could be ignored.
|
|
|
|
|
- Leading whitespace is stripped more uniformly in documentation
|
|
|
|
|
comments, which may change behavior. You read this post about
|
|
|
|
|
the changes for more details.
|
|
|
|
|
- Trait bounds are no longer inferred for associated types.
|
|
|
|
|
+ Internal Only
|
|
|
|
|
These changes provide no direct user facing benefits, but
|
|
|
|
|
represent significant improvements to the internals and overall
|
|
|
|
|
performance of rustc and related tools.
|
|
|
|
|
- rustc's internal crates are now compiled using the initial-exec
|
|
|
|
|
Thread Local Storage model.
|
|
|
|
|
- Calculate visibilities once in resolve.
|
|
|
|
|
- Added system to the llvm-libunwind bootstrap config option.
|
|
|
|
|
- Added --color for configuring terminal color support to bootstrap.
|
|
|
|
|
- Rebased patches:
|
|
|
|
|
+ ignore-Wstring-conversion.patch (location)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Jan 3 11:27:23 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net>
|
|
|
|
|
|
|
|
|
|
- LLVM >= 9.0 is needed nowadays.
|
|
|
|
|
- Disable usage of "ninja" for all distributions older than Leap 15.2
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Jan 2 16:50:47 UTC 2021 - Manfred Hollstein <manfred.h@gmx.net>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.48.0
|
|
|
|
|
+ Language
|
|
|
|
|
- The `unsafe` keyword is now syntactically permitted on modules.
|
|
|
|
|
This is still rejected semantically, but can now be parsed by procedural
|
|
|
|
|
macros.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Stabilised the `-C link-self-contained=<yes|no>` compiler flag.
|
|
|
|
|
This tells `rustc` whether to link its own C runtime and libraries or to
|
|
|
|
|
rely on a external linker to find them. (Supported only on `windows-gnu`,
|
|
|
|
|
`linux-musl`, and `wasi` platforms.)
|
|
|
|
|
- You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.
|
|
|
|
|
Note: If you're using cargo you must explicitly pass the `--target` flag.
|
|
|
|
|
- Added tier 2* support for aarch64-unknown-linux-musl.
|
|
|
|
|
* Refer to Rust's platform support page for more information on Rust's
|
|
|
|
|
tiered platform support.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- io::Write is now implemented for &ChildStdin &Sink, &Stdout, and &Stderr.
|
|
|
|
|
- All arrays of any length now implement TryFrom<Vec<T>>.
|
|
|
|
|
- The matches! macro now supports having a trailing comma.
|
|
|
|
|
- Vec<A> now implements PartialEq<[B]> where A: PartialEq<B>.
|
|
|
|
|
- The RefCell::{replace, replace_with, clone} methods now all use #[track_caller].
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- slice::as_ptr_range
|
|
|
|
|
- slice::as_mut_ptr_range
|
|
|
|
|
- VecDeque::make_contiguous
|
|
|
|
|
- future::pending
|
|
|
|
|
- future::ready
|
|
|
|
|
The following previously stable methods are now `const fn's`:
|
|
|
|
|
- Option::is_some
|
|
|
|
|
- Option::is_none
|
|
|
|
|
- Option::as_ref
|
|
|
|
|
- Result::is_ok
|
|
|
|
|
- Result::is_err
|
|
|
|
|
- Result::as_ref
|
|
|
|
|
- Ordering::reverse
|
|
|
|
|
- Ordering::then
|
|
|
|
|
+ Cargo
|
|
|
|
|
+ Rustdoc
|
|
|
|
|
- You can now link to items in rustdoc using the intra-doc link syntax.
|
|
|
|
|
E.g. /// Uses [`std::future`] will automatically generate a link to
|
|
|
|
|
std::future's documentation. See "Linking to items by name" for more
|
|
|
|
|
information.
|
|
|
|
|
- You can now specify #[doc(alias = "<alias>")] on items to add search
|
|
|
|
|
aliases when searching through rustdoc's UI.
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- Promotion of references to 'static lifetime inside const fn now
|
|
|
|
|
follows the same rules as inside a fn body. In particular, &foo()
|
|
|
|
|
will not be promoted to 'static lifetime any more inside const fns.
|
|
|
|
|
- Associated type bindings on trait objects are now verified to meet
|
|
|
|
|
the bounds declared on the trait when checking that they implement
|
|
|
|
|
the trait.
|
|
|
|
|
- When trait bounds on associated types or opaque types are ambiguous,
|
|
|
|
|
the compiler no longer makes an arbitrary choice on which bound to use.
|
|
|
|
|
- Fixed recursive nonterminals not being expanded in macros during
|
|
|
|
|
pretty-print/reparse check. This may cause errors if your macro
|
|
|
|
|
wasn't correctly handling recursive nonterminal tokens.
|
|
|
|
|
- &mut references to non zero-sized types are no longer promoted.
|
|
|
|
|
- rustc will now warn if you use attributes like #[link_name] or
|
|
|
|
|
#[cold] in places where they have no effect.
|
|
|
|
|
- Updated _mm256_extract_epi8 and _mm256_extract_epi16 signatures
|
|
|
|
|
in arch::{x86, x86_64} to return i32 to match the vendor signatures.
|
|
|
|
|
- mem::uninitialized will now panic if any inner types inside a struct
|
|
|
|
|
or enum disallow zero-initialization.
|
|
|
|
|
- #[target_feature] will now error if used in a place where it has no effect.
|
|
|
|
|
- Foreign exceptions are now caught by catch_unwind and will cause an
|
|
|
|
|
abort. Note: This behaviour is not guaranteed and is still considered
|
|
|
|
|
undefined behaviour, see the catch_unwind documentation for further
|
|
|
|
|
information.
|
|
|
|
|
+ Internal Only
|
|
|
|
|
These changes provide no direct user facing benefits, but represent
|
|
|
|
|
significant improvements to the internals and overall performance of
|
|
|
|
|
rustc and related tools.
|
|
|
|
|
- Building rustc from source now uses ninja by default over make.
|
|
|
|
|
You can continue building with make by setting ninja=false in
|
|
|
|
|
your config.toml.
|
|
|
|
|
- cg_llvm: fewer_names in uncached_llvm_type
|
|
|
|
|
- Made ensure_sufficient_stack() non-generic
|
|
|
|
|
- Rebased patches:
|
|
|
|
|
+ ignore-Wstring-conversion.patch (location)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Nov 28 01:25:03 UTC 2020 - Bernhard Wiedemann <bwiedemann@suse.com>
|
|
|
|
|
|
|
|
|
|
- Check upstream signatures for binaries
|
|
|
|
|
- Add rust.keyring
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Nov 20 13:40:04 UTC 2020 - Manfred Hollstein <manfred.h@gmx.net>
|
|
|
|
|
|
|
|
|
|
- Make all shared libraries in %{common_libdir} executable; otherwise
|
|
|
|
|
fdupes will not find any duplicates in %{rustlibdir}.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Nov 5 09:27:56 UTC 2020 - Manfred Hollstein <manfred.h@gmx.net>
|
|
|
|
|
|
|
|
|
|
- rust-rpmlintrc: Reflect updated LLVM name in the filter.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Oct 11 22:43:36 UTC 2020 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.47.0
|
|
|
|
|
+ Language
|
|
|
|
|
- [Closures will now warn when not used.][74869]
|
|
|
|
|
+ Compiler
|
|
|
|
|
- [Stabilized the `-C control-flow-guard` codegen option][73893], which enables
|
|
|
|
|
[Control Flow Guard][1.47.0-cfg] for Windows platforms, and is ignored on other
|
|
|
|
|
platforms.
|
|
|
|
|
- [Upgraded to LLVM 11.][73526]
|
|
|
|
|
- [Added tier 3\* support for the `thumbv4t-none-eabi` target.][74419]
|
|
|
|
|
- [Upgrade the FreeBSD toolchain to version 11.4][75204]
|
|
|
|
|
- [`RUST_BACKTRACE`'s output is now more compact.][75048]
|
|
|
|
|
\* Refer to Rust's [platform support page][forge-platform-support] for more
|
|
|
|
|
information on Rust's tiered platform support.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- [`CStr` now implements `Index<RangeFrom<usize>>`.][74021]
|
|
|
|
|
- [Traits in `std`/`core` are now implemented for arrays of any length, not just
|
|
|
|
|
those of length less than 33.][74060]
|
|
|
|
|
- [`ops::RangeFull` and `ops::Range` now implement Default.][73197]
|
|
|
|
|
- [`panic::Location` now implements `Copy`, `Clone`, `Eq`, `Hash`, `Ord`,
|
|
|
|
|
`PartialEq`, and `PartialOrd`.][73583]
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- [`Ident::new_raw`]
|
|
|
|
|
- [`Range::is_empty`]
|
|
|
|
|
- [`RangeInclusive::is_empty`]
|
|
|
|
|
- [`Result::as_deref`]
|
|
|
|
|
- [`Result::as_deref_mut`]
|
|
|
|
|
- [`Vec::leak`]
|
|
|
|
|
- [`pointer::offset_from`]
|
|
|
|
|
- [`f32::TAU`]
|
|
|
|
|
- [`f64::TAU`]
|
|
|
|
|
The following previously stable APIs have now been made const.
|
|
|
|
|
- [The `new` method for all `NonZero` integers.][73858]
|
|
|
|
|
- [The `checked_add`,`checked_sub`,`checked_mul`,`checked_neg`, `checked_shl`,
|
|
|
|
|
`checked_shr`, `saturating_add`, `saturating_sub`, and `saturating_mul`
|
|
|
|
|
methods for all integers.][73858]
|
|
|
|
|
- [The `checked_abs`, `saturating_abs`, `saturating_neg`, and `signum` for all
|
|
|
|
|
signed integers.][73858]
|
|
|
|
|
- [The `is_ascii_alphabetic`, `is_ascii_uppercase`, `is_ascii_lowercase`,
|
|
|
|
|
`is_ascii_alphanumeric`, `is_ascii_digit`, `is_ascii_hexdigit`,
|
|
|
|
|
`is_ascii_punctuation`, `is_ascii_graphic`, `is_ascii_whitespace`, and
|
|
|
|
|
`is_ascii_control` methods for `char` and `u8`.][73858]
|
|
|
|
|
+ Cargo
|
|
|
|
|
- [`build-dependencies` are now built with opt-level 0 by default.][cargo/8500]
|
|
|
|
|
You can override this by setting the following in your `Cargo.toml`.
|
|
|
|
|
```toml
|
|
|
|
|
[profile.release.build-override]
|
|
|
|
|
opt-level = 3
|
|
|
|
|
```
|
|
|
|
|
- [`cargo-help` will now display man pages for commands rather just the
|
|
|
|
|
`--help` text.][cargo/8456]
|
|
|
|
|
- [`cargo-metadata` now emits a `test` field indicating if a target has
|
|
|
|
|
tests enabled.][cargo/8478]
|
|
|
|
|
- [`workspace.default-members` now respects `workspace.exclude`.][cargo/8485]
|
|
|
|
|
- [`cargo-publish` will now use an alternative registry by default if it's the
|
|
|
|
|
only registry specified in `package.publish`.][cargo/8571]
|
|
|
|
|
+ Misc
|
|
|
|
|
- [Added a help button beside Rustdoc's searchbar that explains rustdoc's
|
|
|
|
|
type based search.][75366]
|
|
|
|
|
- [Added the Ayu theme to rustdoc.][71237]
|
|
|
|
|
- Rebased patches:
|
|
|
|
|
+ ignore-Wstring-conversion.patch (offset / fuzz)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Oct 10 00:26:02 UTC 2020 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.46.0
|
|
|
|
|
+ Language
|
|
|
|
|
- [`if`, `match`, and `loop` expressions can now be used in const functions.][72437]
|
|
|
|
|
- [Additionally you are now also able to coerce and cast to slices (`&[T]`) in
|
|
|
|
|
const functions.][73862]
|
|
|
|
|
- [The `#[track_caller]` attribute can now be added to functions to use the
|
|
|
|
|
function's caller's location information for panic messages.][72445]
|
|
|
|
|
- [Recursively indexing into tuples no longer needs parentheses.][71322] E.g.
|
|
|
|
|
`x.0.0` over `(x.0).0`.
|
|
|
|
|
- [`mem::transmute` can now be used in statics and constants.][72920] **Note**
|
|
|
|
|
You currently can't use `mem::transmute` in constant functions.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- [You can now use the `cdylib` target on Apple iOS and tvOS platforms.][73516]
|
|
|
|
|
- [Enabled static "Position Independent Executables" by default
|
|
|
|
|
for `x86_64-unknown-linux-musl`.][70740]
|
|
|
|
|
+ Libraries
|
|
|
|
|
- [`mem::forget` is now a `const fn`.][73887]
|
|
|
|
|
- [`String` now implements `From<char>`.][73466]
|
|
|
|
|
- [The `leading_ones`, and `trailing_ones` methods have been stabilised for all
|
|
|
|
|
integer types.][73032]
|
|
|
|
|
- [`vec::IntoIter<T>` now implements `AsRef<[T]>`.][72583]
|
|
|
|
|
- [All non-zero integer types (`NonZeroU8`) now implement `TryFrom` for their
|
|
|
|
|
zero-able equivalent (e.g. `TryFrom<u8>`).][72717]
|
|
|
|
|
- [`&[T]` and `&mut [T]` now implement `PartialEq<Vec<T>>`.][71660]
|
|
|
|
|
- [`(String, u16)` now implements `ToSocketAddrs`.][73007]
|
|
|
|
|
- [`vec::Drain<'_, T>` now implements `AsRef<[T]>`.][72584]
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- [`Option::zip`]
|
|
|
|
|
- [`vec::Drain::as_slice`]
|
|
|
|
|
+ Cargo
|
|
|
|
|
Added a number of new environment variables that are now available when
|
|
|
|
|
compiling your crate.
|
|
|
|
|
- [`CARGO_BIN_NAME` and `CARGO_CRATE_NAME`][cargo/8270] Providing the name of
|
|
|
|
|
the specific binary being compiled and the name of the crate.
|
|
|
|
|
- [`CARGO_PKG_LICENSE`][cargo/8325] The license from the manifest of the package.
|
|
|
|
|
- [`CARGO_PKG_LICENSE_FILE`][cargo/8387] The path to the license file.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Oct 08 22:33:12 UTC 2020 - opensuse-packaging@opensuse.org
|
|
|
|
|
|
|
|
|
|
- Rebased patches:
|
|
|
|
|
+ ignore-Wstring-conversion.patch (offset / fuzz)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Sep 3 03:09:46 UTC 2020 - William Brown <william.brown@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.45.2
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Aug 14 12:00:58 UTC 2020 - Martin Sirringhaus <martin.sirringhaus@suse.com>
|
|
|
|
|
|
|
|
|
|
- Set codeunits=1 for all archs to avoid OOM-kills and produce
|
|
|
|
|
the fastest possible compiler-binaries (at the cost of
|
|
|
|
|
build-times for this package)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Aug 13 13:38:23 UTC 2020 - Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
|
|
- Pacify source validator
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Aug 13 10:04:38 UTC 2020 - Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
|
|
- Add support for riscv64
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Aug 7 05:54:43 UTC 2020 - Manfred Hollstein <manfred.h@gmx.net>
|
|
|
|
|
|
|
|
|
|
- Minimum version needed for LLVM is >= 8.0
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Aug 6 08:26:41 UTC 2020 - Michał Rostecki <mrostecki@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.44.1
|
|
|
|
|
* rustfmt accepts rustfmt_skip in cfg_attr again.
|
|
|
|
|
* Don't hash executable filenames on apple platforms, fixing backtraces.
|
|
|
|
|
* Fix crashes when finding backtrace on macOS.
|
|
|
|
|
* Clippy applies lint levels into different files.
|
|
|
|
|
- Update to version 1.44.0
|
|
|
|
|
+ Language
|
|
|
|
|
- You can now use `async/.await` with `#[no_std]` enabled.
|
|
|
|
|
- Added the `unused_braces` lint.
|
|
|
|
|
- Expansion-driven outline module parsing
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Rustc now respects the `-C codegen-units` flag in incremental mode.
|
|
|
|
|
Additionally when in incremental mode rustc defaults to 256 codegen units.
|
|
|
|
|
- Refactored `catch_unwind` to have zero-cost, unless unwinding is enabled and
|
|
|
|
|
a panic is thrown.
|
|
|
|
|
- Added tier 3\* support for the `aarch64-unknown-none` and
|
|
|
|
|
`aarch64-unknown-none-softfloat` targets.
|
|
|
|
|
- Added tier 3 support for `arm64-apple-tvos` and
|
|
|
|
|
`x86_64-apple-tvos` targets.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- Special cased `vec![]` to map directly to `Vec::new()`. This allows
|
|
|
|
|
`vec![]` to be able to be used in `const` contexts.
|
|
|
|
|
- `convert::Infallible` now implements `Hash`.
|
|
|
|
|
- `OsString` now implements `DerefMut` and `IndexMut` returning
|
|
|
|
|
a `&mut OsStr`.
|
|
|
|
|
- Unicode 13 is now supported.
|
|
|
|
|
- `String` now implements `From<&mut str>`.
|
|
|
|
|
- `IoSlice` now implements `Copy`.
|
|
|
|
|
- `Vec<T>` now implements `From<[T; N]>`. Where `N` is at most 32.
|
|
|
|
|
- `proc_macro::LexError` now implements `fmt::Display` and `Error`.
|
|
|
|
|
- `from_le_bytes`, `to_le_bytes`, `from_be_bytes`, `to_be_bytes`,
|
|
|
|
|
`from_ne_bytes`, and `to_ne_bytes` methods are now `const` for all
|
|
|
|
|
integer types.
|
|
|
|
|
+ Stabilizd APIs
|
|
|
|
|
- [`PathBuf::with_capacity`]
|
|
|
|
|
- [`PathBuf::capacity`]
|
|
|
|
|
- [`PathBuf::clear`]
|
|
|
|
|
- [`PathBuf::reserve`]
|
|
|
|
|
- [`PathBuf::reserve_exact`]
|
|
|
|
|
- [`PathBuf::shrink_to_fit`]
|
|
|
|
|
- [`f32::to_int_unchecked`]
|
|
|
|
|
- [`f64::to_int_unchecked`]
|
|
|
|
|
- [`Layout::align_to`]
|
|
|
|
|
- [`Layout::pad_to_align`]
|
|
|
|
|
- [`Layout::array`]
|
|
|
|
|
- [`Layout::extend`]
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Added the `cargo tree` command which will print a tree graph of
|
|
|
|
|
your dependencies
|
|
|
|
|
+ Misc
|
|
|
|
|
- Rustdoc now allows you to specify `--crate-version` to have rustdoc include
|
|
|
|
|
the version in the sidebar.
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- Rustc now correctly generates static libraries on Windows GNU targets with
|
|
|
|
|
the `.a` extension, rather than the previous `.lib`.
|
|
|
|
|
- Removed the `-C no_integrated_as` flag from rustc.
|
|
|
|
|
- The `file_name` property in JSON output of macro errors now points the actual
|
|
|
|
|
source file rather than the previous format of `<NAME macros>`.
|
|
|
|
|
**Note:** this may not point to a file that actually exists on the user's system.
|
|
|
|
|
- The minimum required external LLVM version has been bumped to LLVM 8.
|
|
|
|
|
- `mem::{zeroed, uninitialised}` will now panic when used with types that do
|
|
|
|
|
not allow zero initialization such as `NonZeroU8`. This was
|
|
|
|
|
previously a warning.
|
|
|
|
|
- In 1.45.0 (the next release) converting a `f64` to `u32` using the `as`
|
|
|
|
|
operator has been defined as a saturating operation. This was previously
|
|
|
|
|
undefined behaviour, but you can use the `{f64, f32}::to_int_unchecked` methods to
|
|
|
|
|
continue using the current behaviour, which may be desirable in rare performance
|
|
|
|
|
sensitive situations.
|
|
|
|
|
- Rebased patches:
|
|
|
|
|
+ ignore-Wstring-conversion.patch (offset / fuzz)
|
|
|
|
|
+ rust-pr70163-prepare-for-llvm-10-upgrade.patch dropped (merged upstream)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed May 20 12:23:40 UTC 2020 - Martin Sirringhaus <martin.sirringhaus@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.43.1
|
|
|
|
|
- Updated openssl-src to 1.1.1g for CVE-2020-1967.
|
|
|
|
|
- Fixed the stabilization of AVX-512 features.
|
|
|
|
|
- Fixed `cargo package --list` not working with unpublished
|
|
|
|
|
dependencies.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon May 4 16:21:54 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
|
|
|
|
|
|
|
|
|
|
- Add rust-pr70163-prepare-for-llvm-10-upgrade.patch to fix compilation
|
|
|
|
|
with llvm10
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon May 4 10:45:18 UTC 2020 - Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
|
|
- Update rustfmt_version
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Apr 29 11:46:59 UTC 2020 - Martin Sirringhaus <martin.sirringhaus@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.43.0
|
|
|
|
|
+ Language
|
|
|
|
|
- Fixed using binary operations with `&{number}` (e.g. `&1.0`)
|
|
|
|
|
not having the type inferred correctly.
|
|
|
|
|
- Attributes such as `#[cfg()]` can now be used on `if`
|
|
|
|
|
expressions.
|
|
|
|
|
- Syntax only changes:
|
|
|
|
|
* Allow `type Foo: Ord` syntactically.
|
|
|
|
|
* Fuse associated and extern items up to defaultness.
|
|
|
|
|
* Syntactically allow `self` in all `fn` contexts.
|
|
|
|
|
* Merge `fn` syntax + cleanup item parsing.
|
|
|
|
|
* `item` macro fragments can be interpolated into `trait`s,
|
|
|
|
|
`impl`s, and `extern` blocks.
|
|
|
|
|
For example, you may now write:
|
|
|
|
|
```rust
|
|
|
|
|
macro_rules! mac_trait {
|
|
|
|
|
($i:item) => {
|
|
|
|
|
trait T { $i }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
mac_trait! {
|
|
|
|
|
fn foo() {}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
* These are still rejected *semantically*, so you will likely
|
|
|
|
|
receive an error but these changes can be seen and parsed by
|
|
|
|
|
macros and conditional compilation.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- You can now pass multiple lint flags to rustc to override the
|
|
|
|
|
previous flags.
|
|
|
|
|
For example; `rustc -D unused -A unused-variables` denies
|
|
|
|
|
everything in the `unused` lint group except `unused-variables`
|
|
|
|
|
which is explicitly allowed. However, passing
|
|
|
|
|
`rustc -A unused-variables -D unused` denies everything in
|
|
|
|
|
the `unused` lint group **including** `unused-variables` since
|
|
|
|
|
the allow flag is specified before the deny flag (and therefore
|
|
|
|
|
overridden).
|
|
|
|
|
- rustc will now prefer your system MinGW libraries over its
|
|
|
|
|
bundled libraries if they are available on `windows-gnu`.
|
|
|
|
|
- rustc now buffers errors/warnings printed in JSON.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- `Arc<[T; N]>`, `Box<[T; N]>`, and `Rc<[T; N]>`, now implement
|
|
|
|
|
`TryFrom<Arc<[T]>>`,`TryFrom<Box<[T]>>`, and `TryFrom<Rc<[T]>>`
|
|
|
|
|
respectively.
|
|
|
|
|
**Note** These conversions are only available when `N` is
|
|
|
|
|
`0..=32`.
|
|
|
|
|
- You can now use associated constants on floats and integers
|
|
|
|
|
directly, rather than having to import the module.
|
|
|
|
|
e.g. You can now write `u32::MAX` or `f32::NAN` with no imports.
|
|
|
|
|
- `u8::is_ascii` is now `const`.
|
|
|
|
|
- `String` now implements `AsMut<str>`.
|
|
|
|
|
- Added the `primitive` module to `std` and `core`.
|
|
|
|
|
This module reexports Rust's primitive types. This is mainly
|
|
|
|
|
useful in macros where you want avoid these types being shadowed.
|
|
|
|
|
- Relaxed some of the trait bounds on `HashMap` and `HashSet`.
|
|
|
|
|
- `string::FromUtf8Error` now implements `Clone + Eq`.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- `Once::is_completed`
|
|
|
|
|
- `f32::LOG10_2`
|
|
|
|
|
- `f32::LOG2_10`
|
|
|
|
|
- `f64::LOG10_2`
|
|
|
|
|
- `f64::LOG2_10`
|
|
|
|
|
- `iter::once_with`
|
|
|
|
|
+ Cargo
|
|
|
|
|
- You can now set config `[profile]`s in your `.cargo/config`,
|
|
|
|
|
or through your environment.
|
|
|
|
|
- Cargo will now set `CARGO_BIN_EXE_<name>` pointing to a
|
|
|
|
|
binary's executable path when running integration tests or
|
|
|
|
|
benchmarks.
|
|
|
|
|
`<name>` is the name of your binary as-is e.g. If you wanted
|
|
|
|
|
the executable path for a binary named `my-program`you would
|
|
|
|
|
use `env!("CARGO_BIN_EXE_my-program")`.
|
|
|
|
|
+ Misc
|
|
|
|
|
- Certain checks in the `const_err` lint were deemed unrelated
|
|
|
|
|
to const evaluation, and have been moved to the
|
|
|
|
|
`unconditional_panic` and `arithmetic_overflow` lints.
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- Having trailing syntax in the `assert!` macro is now a hard
|
|
|
|
|
error. This has been a warning since 1.36.0.
|
|
|
|
|
- Fixed `Self` not having the correctly inferred type. This
|
|
|
|
|
incorrectly led to some instances being accepted, and now
|
|
|
|
|
correctly emits a hard error.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Apr 7 08:54:37 UTC 2020 - Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
|
|
- Avoid duplication of environment settings
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Mar 31 12:28:18 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.42.0:
|
|
|
|
|
+ Language
|
|
|
|
|
- You can now use the slice pattern syntax with subslices.
|
|
|
|
|
- You can now use #[repr(transparent)] on univariant enums. Meaning
|
|
|
|
|
that you can create an enum that has the exact layout and ABI of
|
|
|
|
|
the type it contains.
|
|
|
|
|
- There are some syntax-only changes:
|
|
|
|
|
* default is syntactically allowed before items in trait
|
|
|
|
|
definitions.
|
|
|
|
|
* Items in impls (i.e. consts, types, and fns) may syntactically
|
|
|
|
|
leave out their bodies in favor of ;.
|
|
|
|
|
* Bounds on associated types in impls are now syntactically
|
|
|
|
|
allowed (e.g. type Foo: Ord;).
|
|
|
|
|
* ... (the C-variadic type) may occur syntactically directly
|
|
|
|
|
as the type of any function parameter.
|
|
|
|
|
These are still rejected semantically, so you will likely receive
|
|
|
|
|
an error but these changes can be seen and parsed by procedural
|
|
|
|
|
macros and conditional compilation.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Added tier 2 support for armv7a-none-eabi.
|
|
|
|
|
- Added tier 2 support for riscv64gc-unknown-linux-gnu.
|
|
|
|
|
- Option::{expect,unwrap} and Result::{expect, expect_err, unwrap,
|
|
|
|
|
unwrap_err} now produce panic messages pointing to the location
|
|
|
|
|
where they were called, rather than core's internals.
|
|
|
|
|
Refer to Rust's platform support page for more information on
|
|
|
|
|
Rust's tiered platform support.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- iter::Empty<T> now implements Send and Sync for any T.
|
|
|
|
|
- Pin::{map_unchecked, map_unchecked_mut} no longer require the
|
|
|
|
|
return type to implement Sized.
|
|
|
|
|
- io::Cursor now derives PartialEq and Eq.
|
|
|
|
|
- Layout::new is now const.
|
|
|
|
|
- Added Standard Library support for riscv64gc-unknown-linux-gnu.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- CondVar::wait_while
|
|
|
|
|
- CondVar::wait_timeout_while
|
|
|
|
|
- DebugMap::key
|
|
|
|
|
- DebugMap::value
|
|
|
|
|
- ManuallyDrop::take
|
|
|
|
|
- matches!
|
|
|
|
|
- ptr::slice_from_raw_parts_mut
|
|
|
|
|
- ptr::slice_from_raw_parts
|
|
|
|
|
+ Cargo
|
|
|
|
|
- You no longer need to include extern crate proc_macro; to be
|
|
|
|
|
able to use proc_macro; in the 2018 edition.
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- Error::description has been deprecated, and its use will now
|
|
|
|
|
produce a warning. It's recommended to use Display/to_string
|
|
|
|
|
instead.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Mar 31 11:17:09 UTC 2020 - alarrosa@suse.com
|
|
|
|
|
|
|
|
|
|
- Rebased patches:
|
|
|
|
|
+ ignore-Wstring-conversion.patch (offset / fuzz)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Mar 23 19:01:55 UTC 2020 - Federico Mena Quintero <federico@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.41.1:
|
|
|
|
|
|
|
|
|
|
- Always check types of static items
|
|
|
|
|
- Always check lifetime bounds of `Copy` impls
|
|
|
|
|
- Fix miscompilation in callers of `Layout::repeat`
|
|
|
|
|
|
|
|
|
|
- Update to version 1.41.0:
|
|
|
|
|
|
|
|
|
|
+ Language
|
|
|
|
|
- You can now pass type parameters to foreign items when implementing
|
|
|
|
|
traits. E.g. You can now write `impl<T> From<Foo> for Vec<T> {}`.
|
|
|
|
|
- You can now arbitrarily nest receiver types in the `self` position. E.g. you can
|
|
|
|
|
now write `fn foo(self: Box<Box<Self>>) {}`. Previously only `Self`, `&Self`,
|
|
|
|
|
`&mut Self`, `Arc<Self>`, `Rc<Self>`, and `Box<Self>` were allowed.
|
|
|
|
|
- You can now use any valid identifier in a `format_args` macro.
|
|
|
|
|
Previously identifiers starting with an underscore were not allowed.
|
|
|
|
|
- Visibility modifiers (e.g. `pub`) are now syntactically allowed on trait items and
|
|
|
|
|
enum variants. These are still rejected semantically, but
|
|
|
|
|
can be seen and parsed by procedural macros and conditional compilation.
|
|
|
|
|
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Rustc will now warn if you have unused loop `'label`s.
|
|
|
|
|
- Removed support for the `i686-unknown-dragonfly` target.
|
|
|
|
|
- Added tier 3 support\* for the `riscv64gc-unknown-linux-gnu` target.
|
|
|
|
|
- You can now pass an arguments file passing the `@path` syntax
|
|
|
|
|
to rustc. Note that the format differs somewhat from what is
|
|
|
|
|
found in other tooling; please see the documentation for
|
|
|
|
|
more information.
|
|
|
|
|
- You can now provide `--extern` flag without a path, indicating that it is
|
|
|
|
|
available from the search path or specified with an `-L` flag.
|
|
|
|
|
|
|
|
|
|
Refer to Rust's [platform support page][forge-platform-support] for more
|
|
|
|
|
information on Rust's tiered platform support.
|
|
|
|
|
|
|
|
|
|
+ Libraries
|
|
|
|
|
- The `core::panic` module is now stable. It was already stable
|
|
|
|
|
through `std`.
|
|
|
|
|
- `NonZero*` numerics now implement `From<NonZero*>` if it's a smaller integer
|
|
|
|
|
width. E.g. `NonZeroU16` now implements `From<NonZeroU8>`.
|
|
|
|
|
- `MaybeUninit<T>` now implements `fmt::Debug`.
|
|
|
|
|
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- `Result::map_or`
|
|
|
|
|
- `Result::map_or_else`
|
|
|
|
|
- `std::rc::Weak::weak_count`
|
|
|
|
|
- `std::rc::Weak::strong_count`
|
|
|
|
|
- `std::sync::Weak::weak_count`
|
|
|
|
|
- `std::sync::Weak::strong_count`
|
|
|
|
|
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Cargo will now document all the private items for binary crates
|
|
|
|
|
by default.
|
|
|
|
|
- `cargo-install` will now reinstall the package if it detects that it is out
|
|
|
|
|
of date.
|
|
|
|
|
- Cargo.lock now uses a more git friendly format that should help to reduce
|
|
|
|
|
merge conflicts.
|
|
|
|
|
- You can now override specific dependencies's build settings. E.g.
|
|
|
|
|
`[profile.dev.package.image] opt-level = 2` sets the `image` crate's
|
|
|
|
|
optimisation level to `2` for debug builds. You can also use
|
|
|
|
|
`[profile.<profile>.build-override]` to override build scripts and
|
|
|
|
|
their dependencies.
|
|
|
|
|
|
|
|
|
|
+ Misc
|
|
|
|
|
- You can now specify `edition` in documentation code blocks to compile the block
|
|
|
|
|
for that edition. E.g. `edition2018` tells rustdoc that the code sample
|
|
|
|
|
should be compiled the 2018 edition of Rust.
|
|
|
|
|
- You can now provide custom themes to rustdoc with `--theme`, and check the
|
|
|
|
|
current theme with `--check-theme`.
|
|
|
|
|
- You can use `#[cfg(doc)]` to compile an item when building documentation.
|
|
|
|
|
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- As previously announced 1.41.0 will be the last tier 1 release for 32-bit
|
|
|
|
|
Apple targets. This means that the source code is still
|
|
|
|
|
available to build, but the targets are no longer being tested and release
|
|
|
|
|
binaries for those platforms will no longer be distributed by the Rust project.
|
|
|
|
|
Please refer to the linked blog post for more information.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Jan 17 11:04:12 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
|
|
|
|
|
|
|
|
|
|
- Adjust constraints: Request 20GB HDD for all archs. Simplify the
|
|
|
|
|
file by removing the overrides for various disk sizes. All archs
|
|
|
|
|
are curretnly at roughly 17GB storage in use.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Jan 8 16:44:17 UTC 2020 - Federico Mena Quintero <federico@suse.com>
|
|
|
|
|
|
|
|
|
|
- Bump version of libssh2 for SLE15; we now need a version with
|
|
|
|
|
libssh2_userauth_publickey_frommemory(), which appeared in libssh2
|
|
|
|
|
1.6.0.
|
|
|
|
|
- Use the bundled libssh2 prior to SLE15. SLE12 has 1.4.3, which is
|
|
|
|
|
too old for the ssh crate now.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Dec 30 03:48:37 UTC 2019 - Luke Jones <luke@ljones.dev>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.40.0
|
|
|
|
|
+ Language
|
|
|
|
|
- You can now use tuple `struct`s and tuple `enum` variant's constructors in
|
|
|
|
|
`const` contexts. e.g.
|
|
|
|
|
pub struct Point(i32, i32);
|
|
|
|
|
const ORIGIN: Point = {
|
|
|
|
|
let constructor = Point;
|
|
|
|
|
constructor(0, 0)
|
|
|
|
|
};
|
|
|
|
|
- You can now mark `struct`s, `enum`s, and `enum` variants with the `#[non_exhaustive]` attribute to
|
|
|
|
|
indicate that there may be variants or fields added in the future.
|
|
|
|
|
For example this requires adding a wild-card branch (`_ => {}`) to any match
|
|
|
|
|
statements on a non-exhaustive `enum`.
|
|
|
|
|
- You can now use function-like procedural macros in `extern` blocks and in
|
|
|
|
|
type positions. e.g. `type Generated = macro!();`
|
|
|
|
|
- Function-like and attribute procedural macros can now emit
|
|
|
|
|
`macro_rules!` items, so you can now have your macros generate macros.
|
|
|
|
|
- The `meta` pattern matcher in `macro_rules!` now correctly matches the modern
|
|
|
|
|
attribute syntax. For example `(#[$m:meta])` now matches `#[attr]`,
|
|
|
|
|
`#[attr{tokens}]`, `#[attr[tokens]]`, and `#[attr(tokens)]`.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Added tier 3 support\* for the
|
|
|
|
|
`thumbv7neon-unknown-linux-musleabihf` target.
|
|
|
|
|
- Added tier 3 support for the
|
|
|
|
|
`aarch64-unknown-none-softfloat` target.
|
|
|
|
|
- Added tier 3 support for the `mips64-unknown-linux-muslabi64`, and
|
|
|
|
|
`mips64el-unknown-linux-muslabi64` targets.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- The `is_power_of_two` method on unsigned numeric types is now a `const` function.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- BTreeMap::get_key_value
|
|
|
|
|
- HashMap::get_key_value
|
|
|
|
|
- Option::as_deref_mut
|
|
|
|
|
- Option::as_deref
|
|
|
|
|
- Option::flatten
|
|
|
|
|
- UdpSocket::peer_addr
|
|
|
|
|
- f32::to_be_bytes
|
|
|
|
|
- f32::to_le_bytes
|
|
|
|
|
- f32::to_ne_bytes
|
|
|
|
|
- f64::to_be_bytes
|
|
|
|
|
- f64::to_le_bytes
|
|
|
|
|
- f64::to_ne_bytes
|
|
|
|
|
- f32::from_be_bytes
|
|
|
|
|
- f32::from_le_bytes
|
|
|
|
|
- f32::from_ne_bytes
|
|
|
|
|
- f64::from_be_bytes
|
|
|
|
|
- f64::from_le_bytes
|
|
|
|
|
- f64::from_ne_bytes
|
|
|
|
|
- mem::take
|
|
|
|
|
- slice::repeat
|
|
|
|
|
- todo!
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Cargo will now always display warnings, rather than only on
|
|
|
|
|
fresh builds.
|
|
|
|
|
- Feature flags (except `--all-features`) passed to a virtual workspace will
|
|
|
|
|
now produce an error. Previously these flags were ignored.
|
|
|
|
|
- You can now publish `dev-dependencies` without including
|
|
|
|
|
a `version`.
|
|
|
|
|
+ Misc
|
|
|
|
|
- You can now specify the `#[cfg(doctest)]` attribute to include an item only
|
|
|
|
|
when running documentation tests with `rustdoc`.
|
|
|
|
|
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- As previously announced, any previous NLL warnings in the 2015 edition are
|
|
|
|
|
now hard errors.
|
|
|
|
|
- The `include!` macro will now warn if it failed to include the
|
|
|
|
|
entire file. The `include!` macro unintentionally only includes the
|
|
|
|
|
first _expression_ in a file, and this can be unintuitive. This will become
|
|
|
|
|
either a hard error in a future release, or the behavior may be fixed to include all expressions as expected.
|
|
|
|
|
- Using `#[inline]` on function prototypes and consts now emits a warning under
|
|
|
|
|
`unused_attribute` lint. Using `#[inline]` anywhere else inside traits
|
|
|
|
|
or `extern` blocks now correctly emits a hard error.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Dec 30 03:42:44 UTC 2019 - opensuse-packaging@opensuse.org
|
|
|
|
|
|
|
|
|
|
- Rebased patches:
|
|
|
|
|
+ hopefully-fix-rustdoc-build.patch dropped (merged upstream)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Nov 29 14:43:11 UTC 2019 - Neal Gompa <ngompa13@gmail.com>
|
|
|
|
|
|
|
|
|
|
- Rename README to README.suse-maint and add it as a source
|
|
|
|
|
to stop factory-auto from declining submissions automatically
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Nov 25 13:25:52 UTC 2019 - Alberto Planas Dominguez <aplanas@suse.com>
|
|
|
|
|
|
|
|
|
|
- Re-format the spec file
|
|
|
|
|
- Add a README to explain the update process
|
|
|
|
|
- Add _service file for download the assets and re-base the patches
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Nov 8 23:43:13 UTC 2019 - Alberto Planas Dominguez <aplanas@suse.com>
|
|
|
|
|
|
|
|
|
|
- Add hopefully-fix-rustdoc-build.patch to fix rustdoc compilation
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Nov 7 15:33:25 UTC 2019 - Alberto Planas Dominguez <aplanas@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.39.0
|
|
|
|
|
+ Language
|
|
|
|
|
- You can now create async functions and blocks with async fn,
|
|
|
|
|
async move {}, and async {} respectively, and you can now call
|
|
|
|
|
.await on async expressions.
|
|
|
|
|
- You can now use certain attributes on function, closure, and
|
|
|
|
|
function pointer parameters.
|
|
|
|
|
- You can now take shared references to bind-by-move patterns in
|
|
|
|
|
the if guards of match arms.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Added tier 3 support for the i686-unknown-uefi target.
|
|
|
|
|
- Added tier 3 support for the sparc64-unknown-openbsd target.
|
|
|
|
|
- rustc will now trim code snippets in diagnostics to fit in your
|
|
|
|
|
terminal.
|
|
|
|
|
- You can now pass --show-output argument to test binaries to
|
|
|
|
|
print the output of successful tests.
|
|
|
|
|
+ For more details:
|
|
|
|
|
https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1390-2019-11-07
|
|
|
|
|
- Drop patches already merged in upstream:
|
|
|
|
|
+ rust-61206-assume-tarball-llvm-is-fresh.patch
|
|
|
|
|
+ add-option-to-allow-warnings.patch
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Oct 23 09:56:33 UTC 2019 - Ralf Haferkamp <rhafer@suse.com>
|
|
|
|
|
|
|
|
|
|
- Switch to bundled version of libgit2 for now. libgit2-sys seems
|
|
|
|
|
to expect using the bundled variant, which just seems to point
|
|
|
|
|
to a snapshot of the master branch and doesn't match any released
|
|
|
|
|
libgit2 (bsc#1154817).
|
|
|
|
|
See: https://github.com/rust-lang/rust/issues/63476 and
|
|
|
|
|
https://github.com/rust-lang/git2-rs/issues/458 for details.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Sep 30 21:29:54 UTC 2019 - Luke Jones <luke@ljones.dev>
|
|
|
|
|
|
|
|
|
|
- Add patch add-option-to-allow-warnings.patch to add a config option
|
|
|
|
|
which allows warnings and so enables v1.38 to bootstrap itself.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Sep 30 02:46:51 UTC 2019 - Luke Jones <luke@ljones.dev>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.38.0
|
|
|
|
|
+ Language
|
|
|
|
|
- The `#[global_allocator]` attribute can now be used in submodules.
|
|
|
|
|
- The `#[deprecated]` attribute can now be used on macros.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Added pipelined compilation support to `rustc`. This will
|
|
|
|
|
improve compilation times in some cases.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- `ascii::EscapeDefault` now implements `Clone` and `Display`.
|
|
|
|
|
- Derive macros for prelude traits (e.g. `Clone`, `Debug`, `Hash`) are now
|
|
|
|
|
available at the same path as the trait. (e.g. The `Clone` derive macro
|
|
|
|
|
is available at `std::clone::Clone`). This also makes all built-in macros
|
|
|
|
|
available in `std`/`core` root. e.g. `std::include_bytes!`.
|
|
|
|
|
- `str::Chars` now implements `Debug`.
|
|
|
|
|
- `slice::{concat, connect, join}` now accepts `&[T]` in addition to `&T`.
|
|
|
|
|
- `*const T` and `*mut T` now implement `marker::Unpin`.
|
|
|
|
|
- `Arc<[T]>` and `Rc<[T]>` now implement `FromIterator<T>`.
|
|
|
|
|
- Added euclidean remainder and division operations (`div_euclid`,
|
|
|
|
|
`rem_euclid`) to all numeric primitives. Additionally `checked`,
|
|
|
|
|
`overflowing`, and `wrapping` versions are available for all
|
|
|
|
|
integer primitives.
|
|
|
|
|
- `thread::AccessError` now implements `Clone`, `Copy`, `Eq`, `Error`, and
|
|
|
|
|
`PartialEq`.
|
|
|
|
|
- `iter::{StepBy, Peekable, Take}` now implement `DoubleEndedIterator`.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- `<*const T>::cast`
|
|
|
|
|
- `<*mut T>::cast`
|
|
|
|
|
- `Duration::as_secs_f32`
|
|
|
|
|
- `Duration::as_secs_f64`
|
|
|
|
|
- `Duration::div_f32`
|
|
|
|
|
- `Duration::div_f64`
|
|
|
|
|
- `Duration::from_secs_f32`
|
|
|
|
|
- `Duration::from_secs_f64`
|
|
|
|
|
- `Duration::mul_f32`
|
|
|
|
|
- `Duration::mul_f64`
|
|
|
|
|
- `any::type_name`
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Added pipelined compilation support to `cargo`.
|
|
|
|
|
- You can now pass the `--features` option multiple times to enable
|
|
|
|
|
multiple features.
|
|
|
|
|
+ Misc
|
|
|
|
|
- `rustc` will now warn about some incorrect uses of
|
|
|
|
|
`mem::{uninitialized, zeroed}` that are known to cause undefined behaviour.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Sep 10 18:11:30 UTC 2019 - federico@suse.com
|
|
|
|
|
|
|
|
|
|
- Use gcc7 on all of SLE12, since the embedded LLVM wants at least gcc 5.1.
|
|
|
|
|
|
|
|
|
|
- Add rust-61206-assume-tarball-llvm-is-fresh.patch - Upstream fix to make
|
|
|
|
|
LLVM not be rebuilt during the installation phase.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Aug 28 01:00:37 UTC 2019 - Luke Jones <luke@ljones.dev>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.37.0
|
|
|
|
|
+ Language
|
|
|
|
|
- #[must_use] will now warn if the type is contained in a tuple,
|
|
|
|
|
Box, or an array and unused.
|
|
|
|
|
- You can now use the `cfg` and `cfg_attr` attributes on
|
|
|
|
|
generic parameters.
|
|
|
|
|
- You can now use enum variants through type alias. e.g. You can
|
|
|
|
|
write the following:
|
|
|
|
|
```
|
|
|
|
|
type MyOption = Option<u8>;
|
|
|
|
|
|
|
|
|
|
fn increment_or_zero(x: MyOption) -> u8 {
|
|
|
|
|
match x {
|
|
|
|
|
MyOption::Some(y) => y + 1,
|
|
|
|
|
MyOption::None => 0,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
- You can now use `_` as an identifier for consts. e.g. You can write
|
|
|
|
|
`const _: u32 = 5;`.
|
|
|
|
|
- You can now use `#[repr(align(X)]` on enums.
|
|
|
|
|
- The `?` Kleene macro operator is now available in the
|
|
|
|
|
2015 edition.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- You can now enable Profile-Guided Optimization with the `-C profile-generate`
|
|
|
|
|
and `-C profile-use` flags. For more information on how to use profile
|
|
|
|
|
guided optimization, please refer to the rustc book.
|
|
|
|
|
- The `rust-lldb` wrapper script should now work again.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- `mem::MaybeUninit<T>` is now ABI-compatible with `T`.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- BufReader::buffer
|
|
|
|
|
- BufWriter::buffer
|
|
|
|
|
- Cell::from_mut
|
|
|
|
|
- Cell<[T]>::as_slice_of_cells
|
|
|
|
|
- Cell<slice>::as_slice_of_cells
|
|
|
|
|
- DoubleEndedIterator::nth_back
|
|
|
|
|
- Option::xor
|
|
|
|
|
- Wrapping::reverse_bits
|
|
|
|
|
- i128::reverse_bits
|
|
|
|
|
- i16::reverse_bits
|
|
|
|
|
- i32::reverse_bits
|
|
|
|
|
- i64::reverse_bits
|
|
|
|
|
- i8::reverse_bits
|
|
|
|
|
- isize::reverse_bits
|
|
|
|
|
- slice::copy_within
|
|
|
|
|
- u128::reverse_bits
|
|
|
|
|
- u16::reverse_bits
|
|
|
|
|
- u32::reverse_bits
|
|
|
|
|
- u64::reverse_bits
|
|
|
|
|
- u8::reverse_bits
|
|
|
|
|
- usize::reverse_bits
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Cargo.lock files are now included by default when publishing executable crates
|
|
|
|
|
with executables.
|
|
|
|
|
- You can now specify `default-run="foo"` in `[package]` to specify the
|
|
|
|
|
default executable to use for `cargo run`.
|
|
|
|
|
- cargo-vendor is now provided as a sub-command of cargo
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- Using `...` for inclusive range patterns will now warn by default.
|
|
|
|
|
Please transition your code to using the `..=` syntax for inclusive
|
|
|
|
|
ranges instead.
|
|
|
|
|
- Using a trait object without the `dyn` will now warn by default.
|
|
|
|
|
Please transition your code to use `dyn Trait` for trait objects instead.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jul 9 09:57:46 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Remove fix-llvm8-build.patch, fixed upstream
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Jul 8 20:29:46 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.36.0
|
|
|
|
|
+ Language
|
|
|
|
|
- Non-Lexical Lifetimes are now enabled on the 2015 edition
|
|
|
|
|
- The order of traits in trait objects no longer affects the semantics of that
|
|
|
|
|
object. e.g. `dyn Send + fmt::Debug` is now equivalent to
|
|
|
|
|
`dyn fmt::Debug + Send`, where this was previously not the case.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- `HashMap`'s implementation has been replaced with `hashbrown::HashMap` implementation
|
|
|
|
|
- `TryFromSliceError` now implements `From<Infallible>`
|
|
|
|
|
- `mem::needs_drop` is now available as a const fn
|
|
|
|
|
- `alloc::Layout::from_size_align_unchecked` is now available as a const fn
|
|
|
|
|
- `String` now implements `BorrowMut<str>`
|
|
|
|
|
- `io::Cursor` now implements `Default`
|
|
|
|
|
- Both `NonNull::{dangling, cast}` are now const fns
|
|
|
|
|
- The `alloc` crate is now stable. `alloc` allows you to use a subset
|
|
|
|
|
of `std` (e.g. `Vec`, `Box`, `Arc`) in `#![no_std]` environments if the
|
|
|
|
|
environment has access to heap memory allocation.
|
|
|
|
|
- String` now implements `From<&String>`
|
|
|
|
|
- You can now pass multiple arguments to the `dbg!` macro. `dbg!` will
|
|
|
|
|
return a tuple of each argument when there is multiple arguments.
|
|
|
|
|
- `Result::{is_err, is_ok}` are now `#[must_use]` and will produce a warning if
|
|
|
|
|
not used.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- VecDeque::rotate_left
|
|
|
|
|
- VecDeque::rotate_right
|
|
|
|
|
- Iterator::copied
|
|
|
|
|
- io::IoSlice
|
|
|
|
|
- io::IoSliceMut
|
|
|
|
|
- Read::read_vectored
|
|
|
|
|
- Write::write_vectored
|
|
|
|
|
- str::as_mut_ptr
|
|
|
|
|
- mem::MaybeUninit
|
|
|
|
|
- pointer::align_offset
|
|
|
|
|
- future::Future
|
|
|
|
|
- task::Context
|
|
|
|
|
- task::RawWaker
|
|
|
|
|
- task::RawWakerVTable
|
|
|
|
|
- task::Waker
|
|
|
|
|
- task::Poll
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Cargo will now produce an error if you attempt to use the name of a required dependency as a feature
|
|
|
|
|
- You can now pass the `--offline` flag to run cargo without accessing the network
|
|
|
|
|
+ Clippy
|
|
|
|
|
- New lints: `find_map`, `filter_map_next`
|
|
|
|
|
- New lint: `path_buf_push_overwrite`
|
|
|
|
|
- Move `path_buf_push_overwrite` to the nursery
|
|
|
|
|
- Split `redundant_closure` into `redundant_closure` and `redundant_closure_for_method_calls`
|
|
|
|
|
- Allow allowing of `toplevel_ref_arg` lint
|
|
|
|
|
- Fix false negative in `or_fun_call` pertaining to nested constructors
|
|
|
|
|
- Fixed false positive in `or_fn_call` pertaining to enum variant constructors
|
|
|
|
|
- Fix false positive in `useless_let_if_seq` pertaining to interior mutability
|
|
|
|
|
- Fix false positive in `redundant_closure` pertaining to non-function types
|
|
|
|
|
- Fix false positive in `let_and_return` pertaining to attributes on `let`s
|
|
|
|
|
- Fix false positive in `module_name_repetitions` lint pertaining to attributes
|
|
|
|
|
- Fix false positive on `assertions_on_constants` pertaining to `debug_assert!`
|
|
|
|
|
- Improve suggestion in `map_clone` to suggest `.copied()` where applicable
|
|
|
|
|
- Improve suggestion for `search_is_some`
|
|
|
|
|
- Improve suggestion applicability for `naive_bytecount`
|
|
|
|
|
- Improve suggestion applicability for `while_let_loop`
|
|
|
|
|
- Improve diagnostics for `too_many_arguments`
|
|
|
|
|
- Improve diagnostics for `cast_lossless`
|
|
|
|
|
- Deal with macro checks in desugarings better
|
|
|
|
|
- Add macro check for `unnecessary_cast`
|
|
|
|
|
- Remove `approx_constant`'s documentation's "Known problems" section
|
|
|
|
|
- Fix ICE in `suspicious_else_formatting`
|
|
|
|
|
- Fix ICE in `decimal_literal_representation`
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- With the stabilisation of `mem::MaybeUninit`, `mem::uninitialized` use is no
|
|
|
|
|
longer recommended, and will be deprecated in 1.38.0.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jul 2 07:21:24 UTC 2019 - Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
|
|
- Add support for ppc
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed May 29 21:38:13 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.35.0
|
|
|
|
|
+ Language
|
|
|
|
|
- `FnOnce`, `FnMut`, and the `Fn` traits are now implemented for `Box<FnOnce>`,
|
|
|
|
|
`Box<FnMut>`, and `Box<Fn>` respectively.
|
|
|
|
|
- You can now coerce closures into unsafe function pointers. e.g.
|
|
|
|
|
unsafe fn call_unsafe(func: unsafe fn()) {
|
|
|
|
|
func()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn main() {
|
|
|
|
|
unsafe { call_unsafe(|| {}); }
|
|
|
|
|
}
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Added the `armv6-unknown-freebsd-gnueabihf` and
|
|
|
|
|
`armv7-unknown-freebsd-gnueabihf` targets.
|
|
|
|
|
- Added the `wasm32-unknown-wasi` target.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- `Thread` will now show its ID in `Debug` output.
|
|
|
|
|
- `StdinLock`, `StdoutLock`, and `StderrLock` now implement `AsRawFd`.
|
|
|
|
|
- `alloc::System` now implements `Default`.
|
|
|
|
|
- Expanded `Debug` output (`{:#?}`) for structs now has a trailing comma on the
|
|
|
|
|
last field.
|
|
|
|
|
- `char::{ToLowercase, ToUppercase}` now
|
|
|
|
|
implement `ExactSizeIterator`.
|
|
|
|
|
- All `NonZero` numeric types now implement `FromStr`.
|
|
|
|
|
- Removed the `Read` trait bounds
|
|
|
|
|
on the `BufReader::{get_ref, get_mut, into_inner}` methods.
|
|
|
|
|
- You can now call the `dbg!` macro without any parameters to print the file
|
|
|
|
|
and line where it is called.
|
|
|
|
|
- In place ASCII case conversions are now up to 4× faster.
|
|
|
|
|
e.g. `str::make_ascii_lowercase`
|
|
|
|
|
- `hash_map::{OccupiedEntry, VacantEntry}` now implement `Sync`
|
|
|
|
|
and `Send`.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- `f32::copysign`
|
|
|
|
|
- `f64::copysign`
|
|
|
|
|
- `RefCell::replace_with`
|
|
|
|
|
- `RefCell::map_split`
|
|
|
|
|
- `ptr::hash`
|
|
|
|
|
- `Range::contains`
|
|
|
|
|
- `RangeFrom::contains`
|
|
|
|
|
- `RangeTo::contains`
|
|
|
|
|
- `RangeInclusive::contains`
|
|
|
|
|
- `RangeToInclusive::contains`
|
|
|
|
|
- `Option::copied`
|
|
|
|
|
+ Cargo
|
|
|
|
|
- You can now set `cargo:rustc-cdylib-link-arg` at build time to pass custom
|
|
|
|
|
linker arguments when building a `cdylib`. Its usage is highly
|
|
|
|
|
platform specific.
|
|
|
|
|
|
|
|
|
|
- version 1.34.2
|
|
|
|
|
+ Destabilize the `Error::type_id` function due to a security
|
|
|
|
|
vulnerability (CVE-2019-12083)
|
|
|
|
|
|
|
|
|
|
- version 1.34.1
|
|
|
|
|
+ Fix false positives for the `redundant_closure` Clippy lint
|
|
|
|
|
+ Fix false positives for the `missing_const_for_fn` Clippy lint
|
|
|
|
|
+ Fix Clippy panic when checking some macros
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat May 25 12:23:30 UTC 2019 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
|
|
|
|
|
|
|
|
|
- Add fix-llvm8-build.patch: Fix linker errors with llvm8 by
|
|
|
|
|
limiting internalization in ThinLTO.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri May 17 23:06:25 UTC 2019 - federico@suse.com
|
|
|
|
|
|
|
|
|
|
- Fix regexp for .rlib files in rust-rpmlintrc.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Apr 24 17:39:11 UTC 2019 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
|
|
- Disable LTO (boo#1133283).
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Apr 11 23:32:24 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.34.0
|
|
|
|
|
+ Language
|
|
|
|
|
- You can now use `#[deprecated = "reason"]` as a shorthand for
|
|
|
|
|
`#[deprecated(note = "reason")]`. This was previously allowed
|
|
|
|
|
by mistake but had no effect.
|
|
|
|
|
- You can now accept token streams in `#[attr()]`,`#[attr[]]`, and
|
|
|
|
|
`#[attr{}]` procedural macros.
|
|
|
|
|
- You can now write `extern crate self as foo;` to import your
|
|
|
|
|
crate's root into the extern prelude.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- You can now target `riscv64imac-unknown-none-elf` and
|
|
|
|
|
`riscv64gc-unknown-none-elf`.
|
|
|
|
|
- You can now enable linker plugin LTO optimisations with
|
|
|
|
|
`-C linker-plugin-lto`. This allows rustc to compile your Rust
|
|
|
|
|
code into LLVM bitcode allowing LLVM to perform LTO optimisations
|
|
|
|
|
across C/C++ FFI boundaries.
|
|
|
|
|
- You can now target `powerpc64-unknown-freebsd`.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- The trait bounds have been removed on some of `HashMap<K, V, S>`'s
|
|
|
|
|
and `HashSet<T, S>`'s basic methods. Most notably you no longer
|
|
|
|
|
require the `Hash` trait to create an iterator.
|
|
|
|
|
- The `Ord` trait bounds have been removed on some of
|
|
|
|
|
`BinaryHeap<T>`'s basic methods. Most notably you no longer require
|
|
|
|
|
the `Ord` trait to create an iterator.
|
|
|
|
|
- The methods `overflowing_neg` and `wrapping_neg` are now `const`
|
|
|
|
|
functions for all numeric types.
|
|
|
|
|
- Indexing a `str` is now generic over all types that
|
|
|
|
|
implement `SliceIndex<str>`.
|
|
|
|
|
- `str::trim`, `str::trim_matches`, `str::trim_{start, end}`, and
|
|
|
|
|
`str::trim_{start, end}_matches` are now `#[must_use]` and will
|
|
|
|
|
produce a warning if their returning type is unused.
|
|
|
|
|
- The methods `checked_pow`, `saturating_pow`, `wrapping_pow`, and
|
|
|
|
|
`overflowing_pow` are now available for all numeric types. These are
|
|
|
|
|
equivalvent to methods such as `wrapping_add` for the `pow` operation.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- std & core
|
|
|
|
|
+ Any::type_id
|
|
|
|
|
+ Error::type_id
|
|
|
|
|
+ atomic::AtomicI16
|
|
|
|
|
+ atomic::AtomicI32
|
|
|
|
|
+ atomic::AtomicI64
|
|
|
|
|
+ atomic::AtomicI8
|
|
|
|
|
+ atomic::AtomicU16
|
|
|
|
|
+ atomic::AtomicU32
|
|
|
|
|
+ atomic::AtomicU64
|
|
|
|
|
+ atomic::AtomicU8
|
|
|
|
|
+ convert::Infallible
|
|
|
|
|
+ convert::TryFrom
|
|
|
|
|
+ convert::TryInto
|
|
|
|
|
+ iter::from_fn
|
|
|
|
|
+ iter::successors
|
|
|
|
|
+ num::NonZeroI128
|
|
|
|
|
+ num::NonZeroI16
|
|
|
|
|
+ num::NonZeroI32
|
|
|
|
|
+ num::NonZeroI64
|
|
|
|
|
+ num::NonZeroI8
|
|
|
|
|
+ num::NonZeroIsize
|
|
|
|
|
+ slice::sort_by_cached_key
|
|
|
|
|
+ str::escape_debug
|
|
|
|
|
+ str::escape_default
|
|
|
|
|
+ str::escape_unicode
|
|
|
|
|
+ str::split_ascii_whitespace
|
|
|
|
|
- std
|
|
|
|
|
+ Instant::checked_add
|
|
|
|
|
+ Instant::checked_sub
|
|
|
|
|
+ SystemTime::checked_add
|
|
|
|
|
+ SystemTime::checked_sub
|
|
|
|
|
+ Cargo
|
|
|
|
|
- You can now use alternative registries to crates.io.
|
|
|
|
|
+ Misc
|
|
|
|
|
- You can now use the `?` operator in your documentation
|
|
|
|
|
tests without manually adding `fn main() -> Result<(), _> {}`.
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- `Command::before_exec` is now deprecated in favor of the
|
|
|
|
|
unsafe method `Command::pre_exec`.
|
|
|
|
|
- Use of `ATOMIC_{BOOL, ISIZE, USIZE}_INIT` is now deprecated.
|
|
|
|
|
As you can now use `const` functions in `static` variables.
|
|
|
|
|
- Remove depreciated-trim_left_matches.patch.
|
|
|
|
|
- Rustfmt version bumped to 1.0.3
|
|
|
|
|
+ Change description not provided.
|
|
|
|
|
- rls version now in sync with rustc.
|
|
|
|
|
- Misc fixes to rust.spec
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Mar 25 16:09:44 UTC 2019 - Federico Mena Quintero <federico@suse.com>
|
|
|
|
|
|
|
|
|
|
- Use the system's LLVM in SLE15-SP1. That distribution has LLVM7,
|
|
|
|
|
and we need to use it there, instead of any other version.
|
|
|
|
|
- Prevent auto-provides from being created for things under
|
|
|
|
|
rustlibdir, so the RPM does not inadvertently have a Provides for a
|
|
|
|
|
bundled LLVM and the Rust library files.
|
|
|
|
|
- Sync changes files between SLE and openSUSE, for ease of maintenance.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Mar 22 00:02:26 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Explicitly build only a subset of tools
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Mar 16 01:19:22 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Remove miri complete instead of excluding. This is experimental
|
|
|
|
|
and so should not be included.
|
|
|
|
|
- BuildRequires ccache in attempt to reduce compile times.
|
|
|
|
|
- Remove more extraneous directories from src that will never be
|
|
|
|
|
used.
|
|
|
|
|
- Extra patterns in rpmlintrc to catch more false positives:
|
|
|
|
|
+ Rust has no stable API, ignore SONAME warnings
|
|
|
|
|
+ Tool versions don't update in step with rust, ignore warnings
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Mar 6 09:07:43 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Separate the bootstrap version from the minimum required system
|
|
|
|
|
version for package builds.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Mar 4 08:17:43 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- add depreciated-trim_left_matches.patch: replaces depreciated
|
|
|
|
|
function call in src/tools/tidy with trim_start_matches to fix
|
|
|
|
|
error when bootstrapping with system 1.33.0
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Mar 2 05:17:36 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.33.0
|
|
|
|
|
+ Language
|
|
|
|
|
- You can now use the `cfg(target_vendor)` attribute. E.g.
|
|
|
|
|
`#[cfg(target_vendor="linux")] fn main() { println!("Hello Linux!"); }`
|
|
|
|
|
- Integer patterns such as in a match expression can now be exhaustive.
|
|
|
|
|
E.g. You can have match statement on a `u8` that covers `0..=255` and
|
|
|
|
|
you would no longer be required to have a `_ => unreachable!()` case.
|
|
|
|
|
- You can now have multiple patterns in `if let` and `while let`
|
|
|
|
|
expressions. You can do this with the same syntax as a `match`
|
|
|
|
|
expression. E.g.
|
|
|
|
|
```
|
|
|
|
|
enum Creature {
|
|
|
|
|
Crab(String),
|
|
|
|
|
Lobster(String),
|
|
|
|
|
Person(String),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
let state = Creature::Crab("Ferris");
|
|
|
|
|
|
|
|
|
|
if let Creature::Crab(name) | Creature::Person(name) = state {
|
|
|
|
|
println!("This creature's name is: {}", name);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
- You can now have irrefutable `if let` and `while let` patterns. Using
|
|
|
|
|
this feature will by default produce a warning as this behaviour can be
|
|
|
|
|
unintuitive. E.g. `if let _ = 5 {}`
|
|
|
|
|
- You can now use `let` bindings, assignments, expression statements,
|
|
|
|
|
and irrefutable pattern destructuring in const functions.
|
|
|
|
|
- You can now call unsafe const functions. E.g.
|
|
|
|
|
```
|
|
|
|
|
const unsafe fn foo() -> i32 { 5 }
|
|
|
|
|
const fn bar() -> i32 {
|
|
|
|
|
unsafe { foo() }
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
- You can now specify multiple attributes in a `cfg_attr` attribute.
|
|
|
|
|
E.g. `#[cfg_attr(all(), must_use, optimize)]`
|
|
|
|
|
- You can now specify a specific alignment with the `#[repr(packed)]`
|
|
|
|
|
attribute. E.g. `#[repr(packed(2))] struct Foo(i16, i32);` is a struct
|
|
|
|
|
with an alignment of 2 bytes and a size of 6 bytes.
|
|
|
|
|
- You can now import an item from a module as an `_`. This allows you to
|
|
|
|
|
import a trait's impls, and not have the name in the namespace. E.g.
|
|
|
|
|
```
|
|
|
|
|
use std::io::Read as _;
|
|
|
|
|
|
|
|
|
|
// Allowed as there is only one `Read` in the module.
|
|
|
|
|
pub trait Read {}
|
|
|
|
|
```
|
|
|
|
|
- extern` functions will now abort by default when panicking.
|
|
|
|
|
This was previously undefined behaviour.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- You can now set a linker flavor for `rustc` with the `-Clinker-flavor`
|
|
|
|
|
command line argument.
|
|
|
|
|
- The mininum required LLVM version has been bumped to 6.0.
|
|
|
|
|
- Added support for the PowerPC64 architecture on FreeBSD.
|
|
|
|
|
- The `x86_64-fortanix-unknown-sgx` target support has been upgraded to
|
|
|
|
|
tier 2 support. Visit the [platform support][platform-support] page for
|
|
|
|
|
information on Rust's platform support.
|
|
|
|
|
- Added support for the `thumbv7neon-linux-androideabi` and
|
|
|
|
|
`thumbv7neon-unknown-linux-gnueabihf` targets.
|
|
|
|
|
- Added support for the `x86_64-unknown-uefi` target.
|
|
|
|
|
|
|
|
|
|
+ Libraries
|
|
|
|
|
- The methods `overflowing_{add, sub, mul, shl, shr}` are now `const`
|
|
|
|
|
functions for all numeric types.
|
|
|
|
|
- The methods `rotate_left`, `rotate_right`, and `wrapping_{add, sub, mul, shl, shr}`
|
|
|
|
|
are now `const` functions for all numeric types.
|
|
|
|
|
- The methods `is_positive` and `is_negative` are now `const` functions for
|
|
|
|
|
all signed numeric types.
|
|
|
|
|
- The `get` method for all `NonZero` types is now `const`.
|
|
|
|
|
- The methods `count_ones`, `count_zeros`, `leading_zeros`, `trailing_zeros`,
|
|
|
|
|
`swap_bytes`, `from_be`, `from_le`, `to_be`, `to_le` are now `const` for all
|
|
|
|
|
numeric types.
|
|
|
|
|
- Ipv4Addr::new` is now a `const` function
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- unix::FileExt::read_exact_at
|
|
|
|
|
- unix::FileExt::write_all_at
|
|
|
|
|
- Option::transpose
|
|
|
|
|
- Result::transpose
|
|
|
|
|
- convert::identity
|
|
|
|
|
- pin::Pin
|
|
|
|
|
- marker::Unpin
|
|
|
|
|
- marker::PhantomPinned
|
|
|
|
|
- Vec::resize_with
|
|
|
|
|
- VecDeque::resize_with
|
|
|
|
|
- Duration::as_millis
|
|
|
|
|
- Duration::as_micros
|
|
|
|
|
- Duration::as_nanos
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Cargo should now rebuild a crate if a file was modified during the initial
|
|
|
|
|
build.][cargo/6484]
|
|
|
|
|
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- The methods `str::{trim_left, trim_right, trim_left_matches, trim_right_matches}`
|
|
|
|
|
are now deprecated in the standard library, and their usage will now produce a warning.
|
|
|
|
|
Please use the `str::{trim_start, trim_end, trim_start_matches, trim_end_matches}`
|
|
|
|
|
methods instead.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Mar 1 06:57:58 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Bump minimum LLVM to 7.0
|
|
|
|
|
- Add conditions to build SLE versions with bundled libgit2 and
|
|
|
|
|
libssh2
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Feb 28 17:08:08 UTC 2019 - Federico Mena Quintero <federico@suse.com>
|
|
|
|
|
|
|
|
|
|
- Use cmake3, not cmake, in SLE-12 SP2 and earlier. The stock cmake
|
|
|
|
|
package there was 2.x, and building llvm requires cmake 3.5.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Feb 27 21:39:35 UTC 2019 - jones_ld@protonmail.com
|
|
|
|
|
|
|
|
|
|
- Use same version bootstrap as package source
|
|
|
|
|
- Fixes to build with correct LLVM for SLE and Leap releases
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Feb 27 02:38:54 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Move export vars directly to where used.
|
|
|
|
|
- Change codegen units to 2 for Arm and x86 builds in attempt to
|
|
|
|
|
reduce memory use by LLVM.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Feb 27 02:12:17 UTC 2019 - Federico Mena Quintero <federico@suse.com>
|
|
|
|
|
|
|
|
|
|
- Put each exported environment variable in a separate line so the
|
|
|
|
|
specfile will work on SLE SP0/SP1/SP2.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Feb 24 09:40:06 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
|
|
|
|
|
|
|
|
|
- Avoid bash-specific syntax in "test" call.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Feb 24 01:52:06 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Fix bootstrap conditionals
|
|
|
|
|
- Fix bundled_llvm conditionals
|
|
|
|
|
- Don't build stage0 if compiler used to build package is the
|
|
|
|
|
same version as package
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Feb 23 01:58:47 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Ensure install environment is the same as build environment to
|
|
|
|
|
prevent building everything twice (second time without correct
|
|
|
|
|
flags).
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jan 22 18:19:47 UTC 2019 - federico@suse.com
|
|
|
|
|
|
|
|
|
|
- Remove
|
|
|
|
|
CVE-2018-1000622-prevent-rustdoc-loads-uncontrolled-plugins-path.patch,
|
|
|
|
|
since rustdoc plugins are fixed since version 1.27.1 (bsc#1100691,
|
|
|
|
|
CVE-2018-1000622).
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Jan 17 21:22:11 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.32.0
|
|
|
|
|
- Language
|
|
|
|
|
+ 2018 edition
|
|
|
|
|
- You can now use the `?` operator in macro definitions. The `?`
|
|
|
|
|
operator allows you to specify zero or one repetitions similar to the `*` and
|
|
|
|
|
`+` operators.
|
|
|
|
|
- Module paths with no leading keyword like `super`, `self`, or `crate`, will
|
|
|
|
|
now always resolve to the item (`enum`, `struct`, etc.) available in the
|
|
|
|
|
module if present, before resolving to a external crate or an item the prelude.
|
|
|
|
|
E.g.
|
|
|
|
|
enum Color { Red, Green, Blue }
|
|
|
|
|
use Color::*;
|
|
|
|
|
+ All editions
|
|
|
|
|
- You can now match against `PhantomData<T>` types.
|
|
|
|
|
- You can now match against literals in macros with the `literal`
|
|
|
|
|
specifier. This will match against a literal of any type.
|
|
|
|
|
E.g. `1`, `'A'`, `"Hello World"`
|
|
|
|
|
- Self can now be used as a constructor and pattern for unit and tuple structs. E.g.
|
|
|
|
|
struct Point(i32, i32);
|
|
|
|
|
|
|
|
|
|
impl Point {
|
|
|
|
|
pub fn new(x: i32, y: i32) -> Self {
|
|
|
|
|
Self(x, y)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn is_origin(&self) -> bool {
|
|
|
|
|
match self {
|
|
|
|
|
Self(0, 0) => true,
|
|
|
|
|
_ => false,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
- Self can also now be used in type definitions. E.g.
|
|
|
|
|
enum List<T>
|
|
|
|
|
where
|
|
|
|
|
Self: PartialOrd<Self> // can write `Self` instead of `List<T>`
|
|
|
|
|
{
|
|
|
|
|
Nil,
|
|
|
|
|
Cons(T, Box<Self>) // likewise here
|
|
|
|
|
}
|
|
|
|
|
- You can now mark traits with `#[must_use]`. This provides a warning if
|
|
|
|
|
a `impl Trait` or `dyn Trait` is returned and unused in the program.
|
|
|
|
|
- Compiler
|
|
|
|
|
+ The default allocator has changed from jemalloc to the default allocator on
|
|
|
|
|
your system. The compiler itself on Linux & macOS will still use
|
|
|
|
|
jemalloc, but programs compiled with it will use the system allocator.
|
|
|
|
|
+ Added the `aarch64-pc-windows-msvc` target.
|
|
|
|
|
- Libraries
|
|
|
|
|
+ `PathBuf` now implements `FromStr`.
|
|
|
|
|
- `Box<[T]>` now implements `FromIterator<T>`.
|
|
|
|
|
- The `dbg!` macro has been stabilized. This macro enables you to
|
|
|
|
|
easily debug expressions in your rust program. E.g.
|
|
|
|
|
let a = 2;
|
|
|
|
|
let b = dbg!(a * 2) + 1;
|
|
|
|
|
// ^-- prints: [src/main.rs:4] a * 2 = 4
|
|
|
|
|
assert_eq!(b, 5);
|
|
|
|
|
+ The following APIs are now `const` functions and can be used in a
|
|
|
|
|
`const` context.
|
|
|
|
|
- `Cell::as_ptr`
|
|
|
|
|
- `UnsafeCell::get`
|
|
|
|
|
- `char::is_ascii`
|
|
|
|
|
- `iter::empty`
|
|
|
|
|
- `ManuallyDrop::new`
|
|
|
|
|
- `ManuallyDrop::into_inner`
|
|
|
|
|
- `RangeInclusive::start`
|
|
|
|
|
- `RangeInclusive::end`
|
|
|
|
|
- `NonNull::as_ptr`
|
|
|
|
|
- `slice::as_ptr`
|
|
|
|
|
- `str::as_ptr`
|
|
|
|
|
- `Duration::as_secs`
|
|
|
|
|
- `Duration::subsec_millis`
|
|
|
|
|
- `Duration::subsec_micros`
|
|
|
|
|
- `Duration::subsec_nanos`
|
|
|
|
|
- `CStr::as_ptr`
|
|
|
|
|
- `Ipv4Addr::is_unspecified`
|
|
|
|
|
- `Ipv6Addr::new`
|
|
|
|
|
- `Ipv6Addr::octets`
|
|
|
|
|
- Stabilized APIs
|
|
|
|
|
+ `i8::to_be_bytes`
|
|
|
|
|
+ `i8::to_le_bytes`
|
|
|
|
|
+ `i8::to_ne_bytes`
|
|
|
|
|
+ `i8::from_be_bytes`
|
|
|
|
|
+ `i8::from_le_bytes`
|
|
|
|
|
+ `i8::from_ne_bytes`
|
|
|
|
|
+ `i16::to_be_bytes`
|
|
|
|
|
+ `i16::to_le_bytes`
|
|
|
|
|
+ `i16::to_ne_bytes`
|
|
|
|
|
+ `i16::from_be_bytes`
|
|
|
|
|
+ `i16::from_le_bytes`
|
|
|
|
|
+ `i16::from_ne_bytes`
|
|
|
|
|
+ `i32::to_be_bytes`
|
|
|
|
|
+ `i32::to_le_bytes`
|
|
|
|
|
+ `i32::to_ne_bytes`
|
|
|
|
|
+ `i32::from_be_bytes`
|
|
|
|
|
+ `i32::from_le_bytes`
|
|
|
|
|
+ `i32::from_ne_bytes`
|
|
|
|
|
+ `i64::to_be_bytes`
|
|
|
|
|
+ `i64::to_le_bytes`
|
|
|
|
|
+ `i64::to_ne_bytes`
|
|
|
|
|
+ `i64::from_be_bytes`
|
|
|
|
|
+ `i64::from_le_bytes`
|
|
|
|
|
+ `i64::from_ne_bytes`
|
|
|
|
|
+ `i128::to_be_bytes`
|
|
|
|
|
+ `i128::to_le_bytes`
|
|
|
|
|
+ `i128::to_ne_bytes`
|
|
|
|
|
+ `i128::from_be_bytes`
|
|
|
|
|
+ `i128::from_le_bytes`
|
|
|
|
|
+ `i128::from_ne_bytes`
|
|
|
|
|
+ `isize::to_be_bytes`
|
|
|
|
|
+ `isize::to_le_bytes`
|
|
|
|
|
+ `isize::to_ne_bytes`
|
|
|
|
|
+ `isize::from_be_bytes`
|
|
|
|
|
+ `isize::from_le_bytes`
|
|
|
|
|
+ `isize::from_ne_bytes`
|
|
|
|
|
+ `u8::to_be_bytes`
|
|
|
|
|
+ `u8::to_le_bytes`
|
|
|
|
|
+ `u8::to_ne_bytes`
|
|
|
|
|
+ `u8::from_be_bytes`
|
|
|
|
|
+ `u8::from_le_bytes`
|
|
|
|
|
+ `u8::from_ne_bytes`
|
|
|
|
|
+ `u16::to_be_bytes`
|
|
|
|
|
+ `u16::to_le_bytes`
|
|
|
|
|
+ `u16::to_ne_bytes`
|
|
|
|
|
+ `u16::from_be_bytes`
|
|
|
|
|
+ `u16::from_le_bytes`
|
|
|
|
|
+ `u16::from_ne_bytes`
|
|
|
|
|
+ `u32::to_be_bytes`
|
|
|
|
|
+ `u32::to_le_bytes`
|
|
|
|
|
+ `u32::to_ne_bytes`
|
|
|
|
|
+ `u32::from_be_bytes`
|
|
|
|
|
+ `u32::from_le_bytes`
|
|
|
|
|
+ `u32::from_ne_bytes`
|
|
|
|
|
+ `u64::to_be_bytes`
|
|
|
|
|
+ `u64::to_le_bytes`
|
|
|
|
|
+ `u64::to_ne_bytes`
|
|
|
|
|
+ `u64::from_be_bytes`
|
|
|
|
|
+ `u64::from_le_bytes`
|
|
|
|
|
+ `u64::from_ne_bytes`
|
|
|
|
|
+ `u128::to_be_bytes`
|
|
|
|
|
+ `u128::to_le_bytes`
|
|
|
|
|
+ `u128::to_ne_bytes`
|
|
|
|
|
+ `u128::from_be_bytes`
|
|
|
|
|
+ `u128::from_le_bytes`
|
|
|
|
|
+ `u128::from_ne_bytes`
|
|
|
|
|
+ `usize::to_be_bytes`
|
|
|
|
|
+ `usize::to_le_bytes`
|
|
|
|
|
+ `usize::to_ne_bytes`
|
|
|
|
|
+ `usize::from_be_bytes`
|
|
|
|
|
+ `usize::from_le_bytes`
|
|
|
|
|
+ `usize::from_ne_bytes`
|
|
|
|
|
- Cargo
|
|
|
|
|
+ You can now run `cargo c` as an alias for `cargo check`.][cargo/6218]
|
|
|
|
|
+ Usernames are now allowed in alt registry URLs.][cargo/6242]
|
|
|
|
|
- Misc
|
|
|
|
|
+ `libproc_macro` has been added to the `rust-src` distribution.
|
|
|
|
|
- Compatibility Notes
|
|
|
|
|
+ The argument types for AVX's
|
|
|
|
|
`_mm256_stream_si256`, `_mm256_stream_pd`, `_mm256_stream_ps` have
|
|
|
|
|
been changed from `*const` to `*mut` as the previous implementation
|
|
|
|
|
was unsound.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Jan 5 10:51:54 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.31.1
|
|
|
|
|
+ Fix Rust failing to build on `powerpc-unknown-netbsd`
|
|
|
|
|
+ Fix broken go-to-definition in RLS
|
|
|
|
|
+ Fix infinite loop on hover in RLS
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Dec 6 22:31:16 UTC 2018 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Update to version 1.31.0
|
|
|
|
|
+ Language
|
|
|
|
|
- This version marks the release of the 2018 edition of Rust.
|
|
|
|
|
- New lifetime elision rules now allow for eliding lifetimes in functions and
|
|
|
|
|
impl headers. E.g. `impl<'a> Reader for BufReader<'a> {}` can now be
|
|
|
|
|
`impl Reader for BufReader<'_> {}`. Lifetimes are still required to be defined
|
|
|
|
|
in structs.
|
|
|
|
|
- You can now define and use `const` functions. These are currently
|
|
|
|
|
a strict minimal subset of the const fn RFC. Refer to the
|
|
|
|
|
[language reference][const-reference] for what exactly is available.
|
|
|
|
|
- You can now use tool lints, which allow you to scope lints from external
|
|
|
|
|
tools using attributes. E.g. `#[allow(clippy::filter_map)]`.
|
|
|
|
|
- `#[no_mangle]` and `#[export_name]` attributes can now be located anywhere in
|
|
|
|
|
a crate, not just in exported functions.
|
|
|
|
|
- You can now use parentheses in pattern matches.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Updated musl to 1.1.20
|
|
|
|
|
+ Libraries
|
|
|
|
|
- You can now convert `num::NonZero*` types to their raw equivalvents using the
|
|
|
|
|
`From` trait. E.g. `u8` now implements `From<NonZeroU8>`.
|
|
|
|
|
- You can now convert a `&Option<T>` into `Option<&T>` and `&mut Option<T>`
|
|
|
|
|
into `Option<&mut T>` using the `From` trait.
|
|
|
|
|
- You can now multiply (`*`) a `time::Duration` by a `u32`.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- `slice::align_to`
|
|
|
|
|
- `slice::align_to_mut`
|
|
|
|
|
- `slice::chunks_exact`
|
|
|
|
|
- `slice::chunks_exact_mut`
|
|
|
|
|
- `slice::rchunks`
|
|
|
|
|
- `slice::rchunks_mut`
|
|
|
|
|
- `slice::rchunks_exact`
|
|
|
|
|
- `slice::rchunks_exact_mut`
|
|
|
|
|
- `Option::replace`
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Cargo will now download crates in parallel using HTTP/2.
|
|
|
|
|
- You can now rename packages in your Cargo.toml We have a guide
|
|
|
|
|
on how to use the `package` key in your dependencies.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Nov 13 22:56:17 UTC 2018 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Add additional Requires to rls:
|
|
|
|
|
+ Requires rust-src
|
|
|
|
|
+ Requires rust-analysis
|
|
|
|
|
- Add additional Requires to rustfmt:
|
|
|
|
|
+ Requires cargo
|
|
|
|
|
- Fix rust-src requiring /usr/bin/bash; a script was incorrectly
|
|
|
|
|
edited at build time.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Nov 11 19:43:09 UTC 2018 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Set the bootstrap flag in the spec file temporarily so that rings
|
|
|
|
|
will build rust without intervention. Must be reverted once all
|
|
|
|
|
releases are successful.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Nov 9 06:42:47 UTC 2018 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Add Provides/Obsoletes/Conflicts to rust-std-static and cargo
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Nov 8 01:17:22 UTC 2018 - Neal Gompa <ngompa13@gmail.com>
|
|
|
|
|
|
|
|
|
|
- Strengthen the dependency on rust-std-static to Requires
|
|
|
|
|
to fix crate package builds in OBS
|
|
|
|
|
- Use standard form rich dependencies for SUSE Linux 15 and newer
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Nov 6 12:32:37 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
|
|
|
|
|
|
|
|
|
|
- Fix second-person language and spellos.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Nov 4 22:12:42 UTC 2018 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Add ignore-Wstring-conversion.patch: we require patching of
|
|
|
|
|
src/librustc_llvm/build.rs to ignore a flag that
|
|
|
|
|
llvm-config --cxxflags outputs which GCC doesn't recognise.
|
|
|
|
|
- Default to building using the distro LLVM where the version is
|
|
|
|
|
>= 5.0, instead of the Rust bundled LLVM which requires
|
|
|
|
|
compilation. This should decrease build times. SLE LLVM is too old.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Nov 3 23:03:53 UTC 2018 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Fixing various rpmlint warnings and errors:
|
|
|
|
|
+ ExclusiveArch instead of BuildArch for i686
|
|
|
|
|
+ Remove conflicts with same package name
|
|
|
|
|
+ Remove a few hidden files during prep, does not touch '.clang-format'
|
|
|
|
|
+ Remove old patch macro in comment
|
|
|
|
|
+ Fix lint warning about bash and zsh completition files
|
|
|
|
|
+ Fix various script shebang warnings (incorrect or missing)
|
|
|
|
|
+ Adjust rpmlintrc to mask some 'invalid' warnings
|
|
|
|
|
- Move Rust and its tools in to their own category under:
|
|
|
|
|
+ Development/Languages/Rust
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Nov 3 07:12:01 UTC 2018 - Luke Jones <jones_ld@protonmail.com>
|
|
|
|
|
|
|
|
|
|
- Jump from version 1.26.2 to 1.30.0 due to a build issue with using 1.26.x to
|
|
|
|
|
compile 1.27.x. This package release requires %{rust_bootstrap} to be set.
|
|
|
|
|
- Enable extra rust tools to be built (cargo, rls, rustfmt, analysis)
|
|
|
|
|
+ cargo is now packaged with the same version number as the rust release, this
|
|
|
|
|
may break any packages that relied on a cargo version number.
|
|
|
|
|
- Remove ccache and ninja from BuildRequires.
|
|
|
|
|
- Switch build configuration to use configure script, remove config.toml.
|
|
|
|
|
- Include all bootstraps in source rpm to make bootstrapping easier to manage
|
|
|
|
|
within OBS.
|
|
|
|
|
- Remove unused patch: update-config-guess.patch
|
|
|
|
|
Update to version 1.30.0 (2018-10-25)
|
|
|
|
|
+ Language
|
|
|
|
|
- Procedural macros are now available.- These kinds of macros allow for
|
|
|
|
|
more powerful code generation. There is a new chapter available
|
|
|
|
|
in the Rust Programming Language book that goes further in depth.
|
|
|
|
|
- You can now use keywords as identifiers using the raw identifiers
|
|
|
|
|
syntax (`r#`),- e.g. `let r#for = true;`
|
|
|
|
|
- Using anonymous parameters in traits is now deprecated with a warning and
|
|
|
|
|
will be a hard error in the 2018 edition.-
|
|
|
|
|
- You can now use `crate` in paths.- This allows you to refer to the
|
|
|
|
|
crate root in the path, e.g. `use crate::foo;` refers to `foo` in `src/lib.rs`.
|
|
|
|
|
- Using a external crate no longer requires being prefixed with `::`.-
|
|
|
|
|
Previously, using a external crate in a module without a use statement
|
|
|
|
|
required `let json = ::serde_json::from_str(foo);` but can now be written
|
|
|
|
|
as `let json = serde_json::from_str(foo);`.
|
|
|
|
|
- You can now apply the `#[used]` attribute to static items to prevent the
|
|
|
|
|
compiler from optimising them away, even if they appear to be unused,-
|
|
|
|
|
e.g. `#[used] static FOO: u32 = 1;`
|
|
|
|
|
- You can now import and reexport macros from other crates with the `use`
|
|
|
|
|
syntax.- Macros exported with `#[macro_export]` are now placed into
|
|
|
|
|
the root module of the crate. If your macro relies on calling other local
|
|
|
|
|
macros, it is recommended to export with the
|
|
|
|
|
`#[macro_export(local_inner_macros)]` attribute so users won't have to import
|
|
|
|
|
those macros.
|
|
|
|
|
- You can now catch visibility keywords (e.g. `pub`, `pub(crate)`) in macros
|
|
|
|
|
using the `vis` specifier.-
|
|
|
|
|
- Non-macro attributes now allow all forms of literals, not just
|
|
|
|
|
strings.- Previously, you would write `#[attr("true")]`, and you can now
|
|
|
|
|
write `#[attr(true)]`.
|
|
|
|
|
- You can now specify a function to handle a panic in the Rust runtime with the
|
|
|
|
|
`#[panic_handler]` attribute.-
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Added the `riscv32imc-unknown-none-elf` target.-
|
|
|
|
|
- Added the `aarch64-unknown-netbsd` target-
|
|
|
|
|
+ Libraries
|
|
|
|
|
- `ManuallyDrop` now allows the inner type to be unsized.-
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- `Ipv4Addr::BROADCAST`
|
|
|
|
|
- `Ipv4Addr::LOCALHOST`
|
|
|
|
|
- `Ipv4Addr::UNSPECIFIED`
|
|
|
|
|
- `Ipv6Addr::LOCALHOST`
|
|
|
|
|
- `Ipv6Addr::UNSPECIFIED`
|
|
|
|
|
- `Iterator::find_map`
|
|
|
|
|
- The following methods are replacement methods for `trim_left`, `trim_right`,
|
|
|
|
|
`trim_left_matches`, and `trim_right_matches`, which will be deprecated
|
|
|
|
|
in 1.33.0:
|
|
|
|
|
+ `str::trim_end_matches`
|
|
|
|
|
+ `str::trim_end`
|
|
|
|
|
+ `str::trim_start_matches`
|
|
|
|
|
+ `str::trim_start`
|
|
|
|
|
+ Cargo
|
|
|
|
|
- `cargo run` doesn't require specifying a package in workspaces.][cargo/5877]
|
|
|
|
|
- `cargo doc` now supports `--message-format=json`.][cargo/5878] This is
|
|
|
|
|
equivalent to calling `rustdoc --error-format=json`.
|
|
|
|
|
- Cargo will now provide a progress bar for builds.][cargo/5995]
|
|
|
|
|
+ Misc
|
|
|
|
|
- `rustdoc` allows you to specify what edition to treat your code as with the
|
|
|
|
|
`--edition` option.-
|
|
|
|
|
- `rustdoc` now has the `--color` (specify whether to output color) and
|
|
|
|
|
`--error-format` (specify error format, e.g. `json`) options.-
|
|
|
|
|
- We now distribute a `rust-gdbgui` script that invokes `gdbgui` with Rust
|
|
|
|
|
debug symbols.-
|
|
|
|
|
- Attributes from Rust tools such as `rustfmt` or `clippy` are now
|
|
|
|
|
available,- e.g. `#[rustfmt::skip]` will skip formatting the next item.
|
|
|
|
|
- Update to version 1.29.2 (2018-10-11)
|
|
|
|
|
+ Workaround for an aliasing-related LLVM bug, which caused miscompilation.
|
|
|
|
|
+ The `rls-preview` component on the windows-gnu targets has been restored.
|
|
|
|
|
- Update to version 1.29.1 (2018-09-25)
|
|
|
|
|
+ Security Notes
|
|
|
|
|
- The standard library's `str::repeat` function contained an out of bounds write
|
|
|
|
|
caused by an integer overflow. This has been fixed by deterministically
|
|
|
|
|
panicking when an overflow happens.
|
|
|
|
|
- Update to version 1.29.0 (2018-09-13)
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Bumped minimum LLVM version to 5.0.
|
|
|
|
|
- Added `powerpc64le-unknown-linux-musl` target.
|
|
|
|
|
- Added `aarch64-unknown-hermit` and `x86_64-unknown-hermit` targets.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- `Once::call_once` no longer requires `Once` to be `'static`.
|
|
|
|
|
- `BuildHasherDefault` now implements `PartialEq` and `Eq`.
|
|
|
|
|
- `Box<CStr>`, `Box<OsStr>`, and `Box<Path>` now implement `Clone`.
|
|
|
|
|
- Implemented `PartialEq<&str>` for `OsString` and `PartialEq<OsString>`
|
|
|
|
|
for `&str`.
|
|
|
|
|
- `Cell<T>` now allows `T` to be unsized.
|
|
|
|
|
- `SocketAddr` is now stable on Redox.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- `Arc::downcast`
|
|
|
|
|
- `Iterator::flatten`
|
|
|
|
|
- `Rc::downcast`
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Cargo can silently fix some bad lockfiles.][cargo/5831] You can use
|
|
|
|
|
`--locked` to disable this behavior.
|
|
|
|
|
- `cargo-install` will now allow you to cross compile an install
|
|
|
|
|
using `--target`.][cargo/5614]
|
|
|
|
|
- Added the `cargo-fix` subcommand to automatically move project code from
|
|
|
|
|
2015 edition to 2018.][cargo/5723]
|
|
|
|
|
- `cargo doc` can now optionally document private types using the
|
|
|
|
|
`--document-private-items` flag.][cargo/5543]
|
|
|
|
|
+ Misc
|
|
|
|
|
- `rustdoc` now has the `--cap-lints` option which demotes all lints above
|
|
|
|
|
the specified level to that level. For example `--cap-lints warn`
|
|
|
|
|
will demote `deny` and `forbid` lints to `warn`.
|
|
|
|
|
- `rustc` and `rustdoc` will now have the exit code of `1` if compilation
|
|
|
|
|
fails and `101` if there is a panic.
|
|
|
|
|
- A preview of clippy has been made available through rustup.
|
|
|
|
|
You can install the preview with `rustup component add clippy-preview`.
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- `str::{slice_unchecked, slice_unchecked_mut}` are now deprecated.
|
|
|
|
|
Use `str::get_unchecked(begin..end)` instead.
|
|
|
|
|
- `std::env::home_dir` is now deprecated for its unintuitive behavior.
|
|
|
|
|
Consider using the `home_dir` function from
|
|
|
|
|
https://crates.io/crates/dirs instead.
|
|
|
|
|
- `rustc` will no longer silently ignore invalid data in target spec.
|
|
|
|
|
- `cfg` attributes and `--cfg` command line flags are now more
|
|
|
|
|
strictly validated.
|
|
|
|
|
- Update to version 1.28.0
|
|
|
|
|
+ Language
|
|
|
|
|
- The `#[repr(transparent)]` attribute is now stable.- This attribute
|
|
|
|
|
allows a Rust newtype wrapper (`struct NewType<T>(T);`) to be represented as
|
|
|
|
|
the inner type across Foreign Function Interface (FFI) boundaries.
|
|
|
|
|
- The keywords `pure`, `sizeof`, `alignof`, and `offsetof` have been unreserved
|
|
|
|
|
and can now be used as identifiers.-
|
|
|
|
|
- The `GlobalAlloc` trait and `#[global_allocator]` attribute are now
|
|
|
|
|
stable.- This will allow users to specify a global allocator for
|
|
|
|
|
their program.
|
|
|
|
|
- Unit test functions marked with the `#[test]` attribute can now return
|
|
|
|
|
`Result<(), E: Debug>` in addition to `()`.-
|
|
|
|
|
- The `lifetime` specifier for `macro_rules!` is now stable.- This
|
|
|
|
|
allows macros to easily target lifetimes.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- The `s` and `z` optimisation levels are now stable.- These optimisations
|
|
|
|
|
prioritise making smaller binary sizes. `z` is the same as `s` with the
|
|
|
|
|
exception that it does not vectorise loops, which typically results in an even
|
|
|
|
|
smaller binary.
|
|
|
|
|
- The short error format is now stable.- Specified with
|
|
|
|
|
`--error-format=short` this option will provide a more compressed output of
|
|
|
|
|
rust error messages.
|
|
|
|
|
- Added a lint warning when you have duplicated `macro_export`s.-
|
|
|
|
|
- Reduced the number of allocations in the macro parser.- This can
|
|
|
|
|
improve compile times of macro heavy crates on average by 5%.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- Implemented `Default` for `&mut str`.-
|
|
|
|
|
- Implemented `From<bool>` for all integer and unsigned number types.-
|
|
|
|
|
- Implemented `Extend` for `()`.-
|
|
|
|
|
- The `Debug` implementation of `time::Duration` should now be more easily
|
|
|
|
|
human readable.- Previously a `Duration` of one second would printed as
|
|
|
|
|
`Duration { secs: 1, nanos: 0 }` and will now be printed as `1s`.
|
|
|
|
|
- Implemented `From<&String>` for `Cow<str>`, `From<&Vec<T>>` for `Cow<[T]>`,
|
|
|
|
|
`From<Cow<CStr>>` for `CString`, `From<CString>, From<CStr>, From<&CString>`
|
|
|
|
|
for `Cow<CStr>`, `From<OsString>, From<OsStr>, From<&OsString>` for
|
|
|
|
|
`Cow<OsStr>`, `From<&PathBuf>` for `Cow<Path>`, and `From<Cow<Path>>`
|
|
|
|
|
for `PathBuf`.-
|
|
|
|
|
- Implemented `Shl` and `Shr` for `Wrapping<u128>`
|
|
|
|
|
and `Wrapping<i128>`.-
|
|
|
|
|
- `DirEntry::metadata` now uses `fstatat` instead of `lstat` when
|
|
|
|
|
possible.- This can provide up to a 40% speed increase.
|
|
|
|
|
- Improved error messages when using `format!`.-
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- `Iterator::step_by`
|
|
|
|
|
- `Path::ancestors`
|
|
|
|
|
- `SystemTime::UNIX_EPOCH`
|
|
|
|
|
- `alloc::GlobalAlloc`
|
|
|
|
|
- `alloc::Layout`
|
|
|
|
|
- `alloc::LayoutErr`
|
|
|
|
|
- `alloc::System`
|
|
|
|
|
- `alloc::alloc`
|
|
|
|
|
- `alloc::alloc_zeroed`
|
|
|
|
|
- `alloc::dealloc`
|
|
|
|
|
- `alloc::realloc`
|
|
|
|
|
- `alloc::handle_alloc_error`
|
|
|
|
|
- `btree_map::Entry::or_default`
|
|
|
|
|
- `fmt::Alignment`
|
|
|
|
|
- `hash_map::Entry::or_default`
|
|
|
|
|
- `iter::repeat_with`
|
|
|
|
|
- `num::NonZeroUsize`
|
|
|
|
|
- `num::NonZeroU128`
|
|
|
|
|
- `num::NonZeroU16`
|
|
|
|
|
- `num::NonZeroU32`
|
|
|
|
|
- `num::NonZeroU64`
|
|
|
|
|
- `num::NonZeroU8`
|
|
|
|
|
- `ops::RangeBounds`
|
|
|
|
|
- `slice::SliceIndex`
|
|
|
|
|
- `slice::from_mut`
|
|
|
|
|
- `slice::from_ref`
|
|
|
|
|
- `{Any + Send + Sync}::downcast_mut`
|
|
|
|
|
- `{Any + Send + Sync}::downcast_ref`
|
|
|
|
|
- `{Any + Send + Sync}::is`
|
|
|
|
|
+ Cargo
|
|
|
|
|
- Cargo will now no longer allow you to publish crates with build scripts that
|
|
|
|
|
modify the `src` directory.][cargo/5584] The `src` directory in a crate should be
|
|
|
|
|
considered to be immutable.
|
|
|
|
|
+ Misc
|
|
|
|
|
- The `suggestion_applicability` field in `rustc`'s json output is now
|
|
|
|
|
stable.- This will allow dev tools to check whether a code suggestion
|
|
|
|
|
would apply to them.
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- Rust will consider trait objects with duplicated constraints to be the same
|
|
|
|
|
type as without the duplicated constraint.- For example the below code will
|
|
|
|
|
now fail to compile.
|
|
|
|
|
```rust
|
|
|
|
|
trait Trait {}
|
|
|
|
|
|
|
|
|
|
impl Trait + Send {
|
|
|
|
|
fn test(&self) { println!("one"); } //~ ERROR duplicate definitions with name `test`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl Trait + Send + Send {
|
|
|
|
|
fn test(&self) { println!("two"); }
|
|
|
|
|
}
|
|
|
|
|
- Update to version 1.27.2:
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- The borrow checker was fixed to avoid an additional potential unsoundness when using
|
|
|
|
|
match ergonomics
|
|
|
|
|
- Update to version 1.27.1:
|
|
|
|
|
+ Security Notes
|
|
|
|
|
- rustdoc would execute plugins in the /tmp/rustdoc/plugins directory
|
|
|
|
|
when running, which enabled executing code as some other user on a
|
|
|
|
|
given machine. This release fixes that vulnerability; you can read
|
|
|
|
|
more about this on the blog. The associated CVE is [CVE-2018-1000622].
|
|
|
|
|
Thank you to Red Hat for responsibily disclosing this vulnerability to us.
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- The borrow checker was fixed to avoid an additional potential unsoundness when using
|
|
|
|
|
match ergonomics
|
|
|
|
|
- Update to version 1.27.0:
|
|
|
|
|
+ Language
|
|
|
|
|
- Removed 'proc' from the reserved keywords list. This allows `proc` to
|
|
|
|
|
be used as an identifier.
|
|
|
|
|
- The dyn syntax is now available. This syntax is equivalent to the
|
|
|
|
|
bare `Trait` syntax, and should make it clearer when being used in tandem with
|
|
|
|
|
`impl Trait` because it is equivalent to the following syntax:
|
|
|
|
|
`&Trait == &dyn Trait`, `&mut Trait == &mut dyn Trait`, and
|
|
|
|
|
`Box<Trait> == Box<dyn Trait>`.
|
|
|
|
|
- Attributes on generic parameters such as types and lifetimes are
|
|
|
|
|
now stable. e.g.
|
|
|
|
|
`fn foo<#[lifetime_attr] 'a, #[type_attr] T: 'a>() {}`
|
|
|
|
|
- The `#[must_use]` attribute can now also be used on functions as well as
|
|
|
|
|
types. It provides a lint that by default warns users when the
|
|
|
|
|
value returned by a function has not been used.
|
|
|
|
|
+ Compiler
|
|
|
|
|
- Added the `armvte-unknown-linux-musleabi` target.
|
|
|
|
|
+ Libraries
|
|
|
|
|
- SIMD (Single Instruction Multiple Data) on x/x_ is now stable.
|
|
|
|
|
This includes arch::x & arch::x_ modules which contain
|
|
|
|
|
SIMD intrinsics, a new macro called `is_x_feature_detected!`, the
|
|
|
|
|
`#[target_feature(enable="")]` attribute, and adding `target_feature = ""` to
|
|
|
|
|
the `cfg` attribute.
|
|
|
|
|
- A lot of methods for `[u]`, `f`, and `f` previously only available in
|
|
|
|
|
std are now available in core.
|
|
|
|
|
- The generic `Rhs` type parameter on `ops::{Shl, ShlAssign, Shr}` now defaults
|
|
|
|
|
to `Self`.
|
|
|
|
|
- std::str::replace` now has the `#[must_use]` attribute to clarify
|
|
|
|
|
that the operation isn't done in place.
|
|
|
|
|
- Clone::clone`, `Iterator::collect`, and `ToOwned::to_owned` now have
|
|
|
|
|
the `#[must_use]` attribute] to warn about unused potentially
|
|
|
|
|
expensive allocations.
|
|
|
|
|
+ Stabilized APIs
|
|
|
|
|
- DoubleEndedIterator::rfind
|
|
|
|
|
- DoubleEndedIterator::rfold
|
|
|
|
|
- DoubleEndedIterator::try_rfold
|
|
|
|
|
- Duration::from_micros
|
|
|
|
|
- Duration::from_nanos
|
|
|
|
|
- Duration::subsec_micros
|
|
|
|
|
- Duration::subsec_millis
|
|
|
|
|
- HashMap::remove_entry
|
|
|
|
|
- Iterator::try_fold
|
|
|
|
|
- Iterator::try_for_each
|
|
|
|
|
- NonNull::cast
|
|
|
|
|
- Option::filter
|
|
|
|
|
- String::replace_range
|
|
|
|
|
- Take::set_limit
|
|
|
|
|
- hint::unreachable_unchecked
|
|
|
|
|
- os::unix::process::parent_id
|
|
|
|
|
- ptr::swap_nonoverlapping
|
|
|
|
|
- slice::rsplit_mut
|
|
|
|
|
- slice::rsplit
|
|
|
|
|
- slice::swap_with_slice
|
|
|
|
|
+ Cargo
|
|
|
|
|
- `cargo-metadata` now includes `authors`, `categories`, `keywords`,
|
|
|
|
|
`readme`, and `repository` fields.
|
|
|
|
|
- `cargo-metadata` now includes a package's `metadata` table.
|
|
|
|
|
- Added the `--target-dir` optional argument. This allows you to specify
|
|
|
|
|
a different directory than `target` for placing compilation artifacts.
|
|
|
|
|
- Cargo will be adding automatic target inference for binaries, benchmarks,
|
|
|
|
|
examples, and tests in the Rust 2018 edition. If your project specifies
|
|
|
|
|
specific targets, e.g. using `[[bin]]`, and have other binaries in locations
|
|
|
|
|
where cargo would infer a binary, Cargo will produce a warning. You can
|
|
|
|
|
disable this feature ahead of time by setting any of the following to false:
|
|
|
|
|
`autobins`, `autobenches`, `autoexamples`, `autotests`.
|
|
|
|
|
- Cargo will now cache compiler information. This can be disabled by
|
|
|
|
|
setting `CARGO_CACHE_RUSTC_INFO=0` in your environment.
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- Calling a `CharExt` or `StrExt` method directly on core will no longer
|
|
|
|
|
work. e.g. `::core::prelude::v1::StrExt::is_empty("")` will not
|
|
|
|
|
compile, `"".is_empty()` will still compile.
|
|
|
|
|
- `Debug` output on `atomic::{AtomicBool, AtomicIsize, AtomicPtr, AtomicUsize}`
|
|
|
|
|
will only print the inner type. E.g.
|
|
|
|
|
`print!("{:?}", AtomicBool::new(true))` will print `true`,
|
|
|
|
|
not `AtomicBool(true)`.
|
|
|
|
|
- The maximum number for `repr(align(N))` is now 2²⁹. Previously you
|
|
|
|
|
could enter higher numbers but they were not supported by LLVM. Up to 512MB
|
|
|
|
|
alignment should cover all use cases.
|
|
|
|
|
- The `.description()` method on the `std::error::Error` trait
|
|
|
|
|
has been soft-deprecated. It is no longer required to implement it.
|
|
|
|
|
+ Misc
|
|
|
|
|
- Added “The Rustc book” into the official documentation.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Oct 11 10:00:22 UTC 2018 - qkzhu@suse.com
|
|
|
|
|
|
|
|
|
|
- Add CVE-2018-1000622-prevent-rustdoc-loads-uncontrolled-plugins-path.patch:
|
|
|
|
|
+ This patch consists of requiring `--plugin-path` to be passed
|
|
|
|
|
whenever `--plugin` is passed
|
|
|
|
|
+ rustdoc plugins will be removed entirely on 1.28.0, we should
|
|
|
|
|
drop this patch after 1.28.0(bsc#1100691, CVE-2018-1000622).
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Aug 9 10:18:06 UTC 2018 - mschnitzer@suse.com
|
|
|
|
|
|
|
|
|
|
- Ship rust-std on SLE-15 (bsc#1096945)
|
|
|
|
|
|
|
|
|
|
No new changes came with this update of rust.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Jun 6 10:37:27 UTC 2018 - mmanu84@outlook.de
|
|
|
|
|
|
|
|
|
|
- Update to version 1.26.2:
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- The borrow checker was fixed to avoid unsoundness when using match ergonomics
|
|
|
|
|
- Update to version 1.26.1:
|
|
|
|
|
+ Tools
|
|
|
|
|
- RLS now works on Windows
|
|
|
|
|
- Rustfmt stopped badly formatting text in some cases
|
|
|
|
|
+ Compatibility Notes
|
|
|
|
|
- `fn main() -> impl Trait` no longer works for non-Termination trait
|
|
|
|
|
This reverts an accidental stabilization
|
|
|
|
|
- `NaN > NaN` no longer returns true in const-fn contexts
|
|
|
|
|
- Prohibit using turbofish for `impl Trait` in method arguments
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat May 12 00:31:05 UTC 2018 - luc14n0@linuxmail.org
|
|
|
|
|
|
|
|
|
|
- Update to version 1.26.0:
|
|
|
|
|
+ Language:
|
|
|
|
|
- Closures now implement `Copy` and/or `Clone` if all captured
|
|
|
|
|
variables implement either or both traits.
|
|
|
|
|
- The inclusive range syntax is now stable.
|
|
|
|
|
- Stablise `'_`. The underscore lifetime can be used anywhere
|
|
|
|
|
where a lifetime can be elided.
|
|
|
|
|
- `impl Trait` is now stable allowing you to have abstract
|
|
|
|
|
types in returns or in function parameters.
|
|
|
|
|
- Pattern matching will now automatically apply dereferences.
|
|
|
|
|
- 128-bit integers in the form of `u128` and `i128` are now
|
|
|
|
|
stable.
|
|
|
|
|
- `main` can now return `Result<(), E: Debug>` in addition to
|
|
|
|
|
`()`.
|
|
|
|
|
- A lot of operations are now available in a const context.
|
|
|
|
|
- Fixed entry slice patterns are now stable. e.g.
|
|
|
|
|
+ Compiler:
|
|
|
|
|
- LLD is now used as the default linker for `wasm32-unknown-\
|
|
|
|
|
unknown`.
|
|
|
|
|
- Fixed exponential projection complexity on nested types.
|
|
|
|
|
This can provide up to a ~12% reduction in compile times for
|
|
|
|
|
certain crates.
|
|
|
|
|
- Added the `--remap-path-prefix` option to rustc. Allowing you
|
|
|
|
|
to remap path prefixes outputted by the compiler.
|
|
|
|
|
+ Libraries:
|
|
|
|
|
- Implemented `From<u16> for usize & From<{u8, i16}> for
|
|
|
|
|
isize`.
|
|
|
|
|
- Added hexadecimal formatting for integers with fmt::Debug.
|
|
|
|
|
- Implemented `Default, Hash` for `cmp::Reverse`.
|
|
|
|
|
- Optimized `str::repeat` being 8x faster in large cases.
|
|
|
|
|
- `ascii::escape_default` is now available in libcore.
|
|
|
|
|
- Trailing commas are now supported in std and core macros.
|
|
|
|
|
- Implemented `Copy, Clone` for `cmp::Reverse`.
|
|
|
|
|
- Implemented `Clone` for `char::{ToLowercase, ToUppercase}`.
|
|
|
|
|
+ Stabilized APIs: *const T::add,
|
|
|
|
|
*const T::copy_to_nonoverlapping, *const T::copy_to,
|
|
|
|
|
*const T::read_unaligned, *const T::read_volatile,
|
|
|
|
|
*const T::read, *const T::sub, *const T::wrapping_add,
|
|
|
|
|
*const T::wrapping_sub, *mut T::add, *mut T::copy_to,
|
|
|
|
|
*mut T::copy_to_nonoverlapping, *mut T::read_unaligned,
|
|
|
|
|
*mut T::read_volatile, *mut T::read, mut T::replace,
|
|
|
|
|
*mut T::sub, *mut T::swap, *mut T::wrapping_add,
|
|
|
|
|
*mut T::wrapping_sub, *mut T::write_bytes,
|
|
|
|
|
*mut T::write_unaligned, *mut T::write_volatile,
|
|
|
|
|
*mut T::write, Box::leak, FromUtf8Error::as_bytes,
|
|
|
|
|
LocalKey::try_with, Option::cloned, iter::FusedIterator,
|
|
|
|
|
btree_map::Entry::and_modify, s::read_to_string, fs::read,
|
|
|
|
|
fs::write, hash_map::Entry::and_modify, String::retain,
|
|
|
|
|
ops::RangeInclusive, ops::RangeToInclusive, process::id,
|
|
|
|
|
slice::rotate_left, slice::rotate_right.
|
|
|
|
|
+ Compatibility Notes:
|
|
|
|
|
- Aliasing a `Fn` trait as `dyn` no longer works.
|
|
|
|
|
- The result of dereferences are no longer promoted to
|
|
|
|
|
`'static`.
|
|
|
|
|
- Deprecate `AsciiExt` trait in favor of inherent methods.
|
|
|
|
|
- `".e0"` will now no longer parse as `0.0` and will instead
|
|
|
|
|
cause an error.
|
|
|
|
|
- Removed hoedown from rustdoc.
|
|
|
|
|
- Bounds on higher-kinded lifetimes a hard error.
|
|
|
|
|
- Update cargo_version to 0.26.0.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu May 3 08:05:33 UTC 2018 - mmanu84@outlook.de
|
|
|
|
|
|
|
|
|
|
- Patch disabled
|
|
|
|
|
* update-config-guess.patch
|
|
|
|
|
- Update to 1.25.0
|
|
|
|
|
- Language changes:
|
|
|
|
|
+ Stabilised `#[repr(align(x))]`.[47006] [RFC 1358]
|
|
|
|
|
+ You can now use nested groups of imports.[47948]
|
|
|
|
|
e.g. `use std::{fs::File, io::Read, path::{Path, PathBuf}};`
|
|
|
|
|
+ You can now have `|` at the start of a match arm.[47947] e.g.
|
|
|
|
|
- Compiler changes:
|
|
|
|
|
+ Upgraded to LLVM 6.[47828]
|
|
|
|
|
+ Added `-C lto=val` option.[47521]
|
|
|
|
|
+ Added `i586-unknown-linux-musl` target[47282]
|
|
|
|
|
- Library changes:
|
|
|
|
|
+ Impl Send for `process::Command` on Unix.[47760]
|
|
|
|
|
+ Impl PartialEq and Eq for `ParseCharError`.[47790]
|
|
|
|
|
+ `UnsafeCell::into_inner` is now safe.[47204]
|
|
|
|
|
+ Implement libstd for CloudABI.[47268]
|
|
|
|
|
+ `Float::{from_bits, to_bits}` is now available in libcore.[46931]
|
|
|
|
|
+ Implement `AsRef<Path>` for Component[46985]
|
|
|
|
|
+ Implemented `Write` for `Cursor<&mut Vec<u8>>`[46830]
|
|
|
|
|
+ Moved `Duration` to libcore.[46666]
|
|
|
|
|
- Stabilized APIs
|
|
|
|
|
+ `Location::column`
|
|
|
|
|
+ `ptr::NonNull`
|
|
|
|
|
- Misc
|
|
|
|
|
+ Rust by example is now shipped with new releases[46196]
|
|
|
|
|
- Compatibility Notes:
|
|
|
|
|
+ Deprecated `net::lookup_host`.[47510]
|
|
|
|
|
+ `rustdoc` has switched to pulldown as the default markdown renderer.[47398]
|
|
|
|
|
+ The borrow checker was sometimes incorrectly permitting overlapping borrows
|
|
|
|
|
around indexing operations (see [#47349][47349]). This has been fixed (which also
|
|
|
|
|
enabled some correct code that used to cause errors (e.g. [#33903][33903] and [#46095][46095]).
|
|
|
|
|
+ Removed deprecated unstable attribute `#[simd]`.[47251]
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Mar 22 13:54:53 UTC 2018 - mmanu84@outlook.de
|
|
|
|
|
|
|
|
|
|
- Update to 1.24.1
|
|
|
|
|
+ Do not abort when unwinding through FFI
|
|
|
|
|
+ Make the error index generator work again
|
|
|
|
|
- Update Cargo to v0.25.0
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Feb 24 19:26:15 UTC 2018 - mmanu84@outlook.de
|
|
|
|
|
|
|
|
|
|
- Update to 1.24.0
|
|
|
|
|
- Language changes:
|
|
|
|
|
+ External `sysv64` ffi is now available.
|
|
|
|
|
eg. `extern "sysv64" fn foo () {}`
|
|
|
|
|
- Compiler changes:
|
|
|
|
|
+ rustc now uses 16 codegen units by default for release builds.
|
|
|
|
|
For the fastest builds, utilize `codegen-units=1`.
|
|
|
|
|
- Libraries:
|
|
|
|
|
+ `str::find::<char>` now uses memchr. This should lead to a 10x
|
|
|
|
|
improvement in performance in the majority of cases.
|
|
|
|
|
+ `time::{SystemTime, Instant}` now implement `Hash`.
|
|
|
|
|
+ impl `From<bool>` for `AtomicBool`
|
|
|
|
|
+ impl `From<{CString, &CStr}>` for `{Arc<CStr>, Rc<CStr>}`
|
|
|
|
|
+ impl `From<{OsString, &OsStr}>` for `{Arc<OsStr>, Rc<OsStr>}`
|
|
|
|
|
+ impl `From<{PathBuf, &Path}>` for `{Arc<Path>, Rc<Path>}`
|
|
|
|
|
+ float::from_bits now just uses transmute. This provides some
|
|
|
|
|
optimisations from LLVM.
|
|
|
|
|
+ Copied `AsciiExt` methods onto `char`
|
|
|
|
|
+ Remove `T: Sized` requirement on `ptr::is_null()`
|
|
|
|
|
+ impl `From<RecvError>` for `{TryRecvError, RecvTimeoutError}`
|
|
|
|
|
+ Optimised `f32::{min, max}` to generate more efficient x86
|
|
|
|
|
assembly
|
|
|
|
|
+ `[u8]::contains` now uses memchr which provides a 3x speed
|
|
|
|
|
improvement
|
|
|
|
|
- Compatibility Notes:
|
|
|
|
|
+ Floating point types `Debug` impl now always prints a decimal
|
|
|
|
|
point.
|
|
|
|
|
+ `Ipv6Addr` now rejects superfluous `::`'s in IPv6 addresses
|
|
|
|
|
This is in accordance with IETF RFC 4291 §2.2.
|
|
|
|
|
+ Unwinding will no longer go past FFI boundaries, and will
|
|
|
|
|
instead abort.
|
|
|
|
|
+ `Formatter::flags` method is now deprecated. The `sign_plus`,
|
|
|
|
|
`sign_minus`, `alternate`, and `sign_aware_zero_pad` should be
|
|
|
|
|
used instead.
|
|
|
|
|
+ Leading zeros in tuple struct members is now an error
|
|
|
|
|
+ `column!()` macro is one-based instead of zero-based
|
|
|
|
|
+ `fmt::Arguments` can no longer be shared across threads
|
|
|
|
|
+ Access to `#[repr(packed)]` struct fields is now unsafe
|
|
|
|
|
+ Cargo sets a different working directory for the compiler
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Feb 19 06:26:41 UTC 2018 - coolo@suse.com
|
|
|
|
|
|
|
|
|
|
- add update-config-guess.patch to update config.* from GNU to
|
|
|
|
|
support riscv64 without rpm patching it - as the patch also
|
|
|
|
|
updates the checksums while rpm does not
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jan 23 09:18:27 UTC 2018 - tchvatal@suse.com
|
|
|
|
|
|
|
|
|
|
- Format with spec-cleaner
|
|
|
|
|
- Use python3 to run the install/build script as python2 is being
|
|
|
|
|
phased out
|
|
|
|
|
- State exclusivearch for all of ix86 and then specify we build as
|
|
|
|
|
i686 which is bit more obvious
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Jan 22 11:21:42 UTC 2018 - mmanu84@outlook.de
|
|
|
|
|
|
|
|
|
|
- Update Cargo to v0.24.0
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Jan 22 07:01:51 UTC 2018 - jones_ld@protonmail.com
|
|
|
|
|
|
|
|
|
|
- Add "Requires: %{name} to derived packages to fix derived
|
|
|
|
|
packages not being updated with rust (boo#1075883)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Jan 4 21:20:36 UTC 2018 - jones_ld@protonmail.com
|
|
|
|
|
|
|
|
|
|
- Update to 1.23.0
|
|
|
|
|
- Language changes:
|
|
|
|
|
+ Arbitrary `auto` traits are now permitted in trait objects.[45772]
|
|
|
|
|
+ rustc now uses subtyping on the left hand side of binary operations.[45435]
|
|
|
|
|
Which should fix some confusing errors in some operations.
|
|
|
|
|
- Compiler changes:
|
|
|
|
|
+ Enabled `TrapUnreachable` in LLVM which should mitigate the impact of
|
|
|
|
|
undefined behaviour.[45920]
|
|
|
|
|
+ rustc now suggests renaming import if names clash.[45660]
|
|
|
|
|
+ Display errors/warnings correctly when there are zero-width or
|
|
|
|
|
wide characters.[45711]
|
|
|
|
|
+ rustc now avoids unnecessary copies of arguments that are
|
|
|
|
|
simple bindings[45380] This should improve memory usage on average by 5-10%.
|
|
|
|
|
+ Updated musl used to build musl rustc to 1.1.17[45393]
|
|
|
|
|
- Library changes:
|
|
|
|
|
+ Allow a trailing comma in `assert_eq/ne` macro[45887]
|
|
|
|
|
+ Implement Hash for raw pointers to unsized types[45483]
|
|
|
|
|
+ impl `From<*mut T>` for `AtomicPtr<T>`[45610]
|
|
|
|
|
+ impl `From<usize/isize>` for `AtomicUsize/AtomicIsize`.[45610]
|
|
|
|
|
+ Removed the `T: Sync` requirement for `RwLock<T>: Send`[45267]
|
|
|
|
|
+ Removed `T: Sized` requirement for `{<*const T>, <*mut T>}::as_ref`
|
|
|
|
|
an `<*mut T>::as_mut`[44932]
|
|
|
|
|
+ Optimized `Thread::{park, unpark}` implementation[45524]
|
|
|
|
|
+ Improved `SliceExt::binary_search` performance.[45333]
|
|
|
|
|
+ impl `FromIterator<()>` for `()`[45379]
|
|
|
|
|
+ Copied `AsciiExt` trait methods to primitive types.[44042] Use of `AsciiExt`
|
|
|
|
|
is now deprecated.
|
|
|
|
|
- Misc changes:
|
|
|
|
|
+ Releases now ship with the Cargo book documentation.[45692]
|
|
|
|
|
+ rustdoc now prints rendering warnings on every run.[45324]
|
|
|
|
|
+ Release tarballs now come with rustfmt[45903]
|
|
|
|
|
- Compatibility Notes:
|
|
|
|
|
+ Changes have been made to type equality to make it more correct,
|
|
|
|
|
in rare cases this could break some code.[45853] [Tracking issue for
|
|
|
|
|
further information[45852]
|
|
|
|
|
+ `char::escape_debug` now uses Unicode 10 over 9.[45571]
|
|
|
|
|
+ Upgraded Android SDK to 27, and NDK to r15c.[45580] This drops support for
|
|
|
|
|
Android 9, the minimum supported version is Android 14.
|
|
|
|
|
+ Bumped the minimum LLVM to 3.9[45326]
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Nov 25 09:54:46 UTC 2017 - mmanu84@outlook.de
|
|
|
|
|
|
|
|
|
|
- Update to v1.22.1
|
|
|
|
|
- Update Cargo to fix an issue with macOS 10.13 "High Sierra"
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Nov 23 00:27:24 UTC 2017 - jones_ld@protonmail.com
|
|
|
|
|
|
|
|
|
|
- Update to v1.22.0
|
|
|
|
|
- Language changes:
|
|
|
|
|
+ `non_snake_case` lint now allows extern no-mangle functions
|
|
|
|
|
+ Now accepts underscores in unicode escapes
|
|
|
|
|
+ `T op= &T` now works for numeric types. eg. `let mut x = 2; x += &8;`
|
|
|
|
|
+ types that impl `Drop` are now allowed in `const` and `static` types
|
|
|
|
|
- Compiler changes:
|
|
|
|
|
+ rustc now defaults to having 16 codegen units at debug on supported platforms
|
|
|
|
|
+ rustc will no longer inline in codegen units when compiling for debug
|
|
|
|
|
This should decrease compile times for debug builds.
|
|
|
|
|
+ strict memory alignment now enabled on ARMv6
|
|
|
|
|
+ Remove support for the PNaCl target `le32-unknown-nacl`
|
|
|
|
|
- Librarie changes
|
|
|
|
|
+ Allow atomic operations up to 32 bits
|
|
|
|
|
on `armv5te_unknown_linux_gnueabi`
|
|
|
|
|
+ `Box<Error>` now impls `From<Cow<str>>`
|
|
|
|
|
+ `std::mem::Discriminant` is now guaranteed to be `Send + Sync`
|
|
|
|
|
+ `fs::copy` now returns the length of the main stream on NTFS.
|
|
|
|
|
+ Properly detect overflow in `Instant += Duration`.
|
|
|
|
|
+ impl `Hasher` for `{&mut Hasher, Box<Hasher>}`
|
|
|
|
|
+ impl `fmt::Debug` for `SplitWhitespace`.][44303]
|
|
|
|
|
+ `Option<T>` now impls `Try`. This allows for using `?` with `Option` types.
|
|
|
|
|
- Misc
|
|
|
|
|
+ `libbacktrace` is now available on Apple platforms.
|
|
|
|
|
+ Stabilised the `compile_fail` attribute for code fences in doc-comments.
|
|
|
|
|
This now lets you specify that a given code example will fail to compile.
|
|
|
|
|
- Compatibility Notes
|
|
|
|
|
+ The minimum Android version that rustc can build for has been bumped
|
|
|
|
|
to `4.0` from `2.3`
|
|
|
|
|
+ Allowing `T op= &T` for numeric types has broken some type inference cases
|
|
|
|
|
|
|
|
|
|
- Remove rust-1.21.0-44203-exclude-compiler-rt-test.patch
|
|
|
|
|
- Remove rust-1.21.0-44066-ppc64-struct-abi.patch
|
|
|
|
|
- Remove rust-1.21.0-44440-s390x-global-align.patch
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Oct 19 05:46:50 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Large cleanup of both the spec and config.toml to correct many
|
|
|
|
|
build issues for the new version
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Oct 18 03:43:11 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Add rust-1.21.0-44203-exclude-compiler-rt-test.patch
|
|
|
|
|
- Add rust-1.21.0-44066-ppc64-struct-abi.patch
|
|
|
|
|
- Add rust-1.21.0-44440-s390x-global-align.patch
|
|
|
|
|
- Remove add-soname.patch
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Oct 17 22:53:28 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Sep 23 00:29:39 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Force enable rust bootstrap so that missing architectures build
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Sep 20 08:06:35 UTC 2017 - opensuse@dstoecker.de
|
|
|
|
|
|
|
|
|
|
- set minimum cmake version
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Sep 4 22:44:20 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- 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]
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Sep 1 10:14:10 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- adjust build process and add package for Rust source
|
|
|
|
|
- clean-up of useless provides
|
|
|
|
|
- add rpmlintrc
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Aug 8 23:06:44 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Jun 14 06:23:20 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Change i586 build to produce i686 target instead of i586 so that
|
|
|
|
|
x86 Firefox can be built with Rust.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Jun 8 21:48:54 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- 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)
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed May 10 07:09:13 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Adjustment of rust version dependency to prevent inability to
|
|
|
|
|
build in the adi rings.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Apr 30 04:48:19 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Apr 28 01:24:18 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Revert restriction of x86 arch to i586 for the interim.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Apr 28 01:04:09 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Apr 22 02:06:47 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Change x86 build target from i586 to i686
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Mar 22 01:43:22 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Mar 17 05:59:18 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- 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]
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Mar 13 10:14:21 UTC 2017 - dimstar@opensuse.org
|
|
|
|
|
|
|
|
|
|
- Remove duplicate license files from _docdir: rpm 4.13 no longer
|
|
|
|
|
implicitly packages those files and we catch them using %license,
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Feb 23 07:36:17 UTC 2017 - bg@suse.com
|
|
|
|
|
|
|
|
|
|
- remove bootstrap for s390x as binaries are available in
|
|
|
|
|
openSUSE:Factory:zSystems
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Feb 15 05:58:35 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Fixes to build for archs armv7, aarch64, ppc64, s390x
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Feb 11 05:31:34 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Update to 1.15.1
|
|
|
|
|
- Fix IntoIter::as_mut_slice's signature
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Feb 6 09:05:39 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Correct rust-triples use in spec.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Feb 6 08:25:17 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jan 31 09:41:33 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Adjust build so that aarch and ARM architectures use bootstrap for
|
|
|
|
|
initial build
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jan 31 04:25:06 UTC 2017 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Fix provides/conflicts/obsoletes
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Dec 23 08:22:26 UTC 2016 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Dec 23 07:57:24 UTC 2016 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Dec 18 09:27:44 UTC 2016 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Update to 1.13.0
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Dec 18 09:03:52 UTC 2016 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Add conflicts to help avoid situations where previous versions
|
|
|
|
|
or rustc-bootstrap may be installed
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Dec 18 02:41:25 UTC 2016 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Update to 1.12.1
|
|
|
|
|
- Remove patches:
|
|
|
|
|
+ 0003-Disable-embedding-timestamp-information.patch - fixed
|
|
|
|
|
by upstream
|
|
|
|
|
+ 0002-Add-armv6l-autodetection.patch - no-longer viable
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Dec 16 23:27:42 UTC 2016 - luke.nukem.jones@gmail.com
|
|
|
|
|
|
|
|
|
|
- Revert from v1.13 to v1.11 in preparation for alternative
|
|
|
|
|
packaging.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Nov 2 08:42:44 UTC 2016 - matwey.kornilov@gmail.com
|
|
|
|
|
|
|
|
|
|
- Add 0001-Fix-armv7-autodetection.patch
|
|
|
|
|
- Add 0002-Add-armv6l-autodetection.patch
|
|
|
|
|
* fix armv6 and armv7 builds
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Sep 20 11:46:53 UTC 2016 - kgronlund@suse.com
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Sep 6 06:35:03 UTC 2016 - kgronlund@suse.com
|
|
|
|
|
|
|
|
|
|
- Move to package named rust
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Aug 4 19:41:56 UTC 2016 - mvyskocil@opensuse.org
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Jul 31 15:03:38 UTC 2016 - jengelh@inai.de
|
|
|
|
|
|
|
|
|
|
- Use smp_mflags for parallel building. Avoid sh invocation for
|
|
|
|
|
simple ldconfig calls. Drop archaic %clean section.
|
|
|
|
|
Drop filler words from summary.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jul 26 13:34:17 UTC 2016 - kgronlund@suse.com
|
|
|
|
|
|
|
|
|
|
- Rename source package to rustc-1_9 to conform to naming standards.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jul 12 05:57:11 UTC 2016 - mvyskocil@opensuse.org
|
|
|
|
|
|
|
|
|
|
- Rename source package to rustc-190 to avoid unecessary rebuilds
|
|
|
|
|
of rustc packages on upgrade
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Jul 6 11:11:50 UTC 2016 - kgronlund@suse.com
|
|
|
|
|
|
|
|
|
|
- Move stage0 binaries into separate package
|
|
|
|
|
- Disable embedding timestamp information
|
|
|
|
|
- Add 0003-Disable-embedding-timestamp-information.patch
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Tue Jun 28 12:43:26 UTC 2016 - kgronlund@suse.com
|
|
|
|
|
|
|
|
|
|
- Rename package to rustc-stable
|
|
|
|
|
- Add rpmlintrc
|
|
|
|
|
- Make bootstrapping conditional
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Jun 27 15:40:53 UTC 2016 - kgronlund@suse.com
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon May 30 09:15:21 UTC 2016 - mvyskocil@opensuse.org
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Apr 15 19:39:18 UTC 2016 - mvyskocil@opensuse.org
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Mar 4 16:10:07 UTC 2016 - kgronlund@suse.com
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Jan 20 19:28:34 UTC 2016 - i@xuzhao.net
|
|
|
|
|
|
|
|
|
|
- Update to version 1.6.0:
|
|
|
|
|
+ Stabilization of libcore and other library functions
|
|
|
|
|
+ Crates.io disallows wildcards
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Oct 30 12:18:05 UTC 2015 - mvyskocil@opensuse.org
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Oct 17 19:12:53 UTC 2015 - mvyskocil@opensuse.org
|
|
|
|
|
|
|
|
|
|
- Split the gdb support to rust-gdb subpackage
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Sep 18 07:00:06 UTC 2015 - mvyskocil@opensuse.org
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Aug 12 13:30:10 UTC 2015 - mvyskocil@opensuse.org
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Jul 27 18:57:08 UTC 2015 - mvyskocil@opensuse.org
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri May 15 21:42:38 UTC 2015 - kgronlund@suse.com
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu May 07 11:05:47 UTC 2015 - opensuse-packaging@opensuse.org
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed May 6 17:08:50 UTC 2015 - matwey.kornilov@gmail.com
|
|
|
|
|
|
|
|
|
|
- Format spec file
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Apr 29 13:07:54 UTC 2015 - opensuse-packaging@opensuse.org
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Apr 29 12:56:15 UTC 2015 - kgronlund@suse.com
|
|
|
|
|
|
|
|
|
|
- Version 1.0.0-beta3.
|