Accepting request 688403 from home:federico-mena:branches:devel:languages:rust
- 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. OBS-URL: https://build.opensuse.org/request/show/688403 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=209
This commit is contained in:
parent
9dca7ce326
commit
5853a824ca
79
rust.changes
79
rust.changes
@ -1,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
@ -43,17 +53,17 @@ Sat Mar 2 05:17:36 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
||||
expression. E.g.
|
||||
```
|
||||
enum Creature {
|
||||
Crab(String),
|
||||
Lobster(String),
|
||||
Person(String),
|
||||
Crab(String),
|
||||
Lobster(String),
|
||||
Person(String),
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let state = Creature::Crab("Ferris");
|
||||
let state = Creature::Crab("Ferris");
|
||||
|
||||
if let Creature::Crab(name) | Creature::Person(name) = state {
|
||||
println!("This creature's name is: {}", name);
|
||||
}
|
||||
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
|
||||
@ -65,7 +75,7 @@ Sat Mar 2 05:17:36 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
||||
```
|
||||
const unsafe fn foo() -> i32 { 5 }
|
||||
const fn bar() -> i32 {
|
||||
unsafe { foo() }
|
||||
unsafe { foo() }
|
||||
}
|
||||
```
|
||||
- You can now specify multiple attributes in a `cfg_attr` attribute.
|
||||
@ -183,6 +193,14 @@ Sat Feb 23 01:58:47 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
||||
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>
|
||||
|
||||
@ -207,24 +225,24 @@ Thu Jan 17 21:22:11 UTC 2019 - Luke Jones <jones_ld@protonmail.com>
|
||||
struct Point(i32, i32);
|
||||
|
||||
impl Point {
|
||||
pub fn new(x: i32, y: i32) -> Self {
|
||||
Self(x, y)
|
||||
}
|
||||
pub fn new(x: i32, y: i32) -> Self {
|
||||
Self(x, y)
|
||||
}
|
||||
|
||||
pub fn is_origin(&self) -> bool {
|
||||
match self {
|
||||
Self(0, 0) => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
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>`
|
||||
Self: PartialOrd<Self> // can write `Self` instead of `List<T>`
|
||||
{
|
||||
Nil,
|
||||
Cons(T, Box<Self>) // likewise here
|
||||
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.
|
||||
@ -671,11 +689,11 @@ Update to version 1.30.0 (2018-10-25)
|
||||
trait Trait {}
|
||||
|
||||
impl Trait + Send {
|
||||
fn test(&self) { println!("one"); } //~ ERROR duplicate definitions with name `test`
|
||||
fn test(&self) { println!("one"); } //~ ERROR duplicate definitions with name `test`
|
||||
}
|
||||
|
||||
impl Trait + Send + Send {
|
||||
fn test(&self) { println!("two"); }
|
||||
fn test(&self) { println!("two"); }
|
||||
}
|
||||
- Update to version 1.27.2:
|
||||
+ Compatibility Notes
|
||||
@ -774,6 +792,22 @@ Update to version 1.30.0 (2018-10-25)
|
||||
+ 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
|
||||
|
||||
@ -1933,4 +1967,3 @@ Wed Apr 29 13:07:54 UTC 2015 - opensuse-packaging@opensuse.org
|
||||
Wed Apr 29 12:56:15 UTC 2015 - kgronlund@suse.com
|
||||
|
||||
- Version 1.0.0-beta3.
|
||||
|
||||
|
13
rust.spec
13
rust.spec
@ -13,7 +13,7 @@
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
@ -57,12 +57,8 @@
|
||||
# Will build with distro LLVM by default, but the following
|
||||
# versions do not have a version new enough, >= 6.0
|
||||
# add --without bundled_llvm option, i.e. enable bundled_llvm by default
|
||||
# Leap 15.0, SLE 15
|
||||
%if 0%{?sle_version} == 150000
|
||||
%bcond_without bundled_llvm
|
||||
%endif
|
||||
# Leap 42 to 42.3, SLE12 SP1 to SLE12 SP3
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 120400
|
||||
# Leap 42 to 42.3, SLE12 SP1 to SLE12 SP3, Leap 15.0, SLE15 SP0
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150000
|
||||
%bcond_without bundled_llvm
|
||||
%endif
|
||||
|
||||
@ -80,6 +76,9 @@
|
||||
# Use hardening ldflags.
|
||||
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
|
||||
|
||||
# Exclude implicitly-scanned Provides, especially the libLLVM.so ones:
|
||||
%global __provides_exclude_from ^%{rustlibdir}/.*$
|
||||
|
||||
Name: rust
|
||||
Version: %{version_current}
|
||||
Release: 0
|
||||
|
Loading…
Reference in New Issue
Block a user