Accepting request 667330 from home:luke_nukem:branches:devel:languages:rust
- 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. OBS-URL: https://build.opensuse.org/request/show/667330 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=179
This commit is contained in:
parent
d7a6a69b7d
commit
c5c57d02d8
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1f493cfb40566a61765eb91e4613503350378803ac9b962c710e80e01a781aa9
|
||||
size 114223904
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4974df85c0b82d2cf461717e3f82e9c4144861e32142bf70649c8afa989863e5
|
||||
size 121114868
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:77fd3bf5f499b30bded11b0bf8cb2d2963774c417fb7d312c36fd3eebeb3ac9a
|
||||
size 122390768
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a462e0fb8ef048d54c341ffd1ba64b139b240bd92d3094ebd484f2cf84015f81
|
||||
size 143689500
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1c50ddbcdc2479b8447fba950db51c446aef0287ca80226f1ea026495c72b411
|
||||
size 118698168
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ad4f95f65d3e3dc4509e3e358194e454e4382a8a8e51c6f317e19948db63b5aa
|
||||
size 121569444
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d0a2706a79df49e71ae2dcd87009066cc3fa0c4c8f101986d95a42235815c5f3
|
||||
size 124025168
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fc08025864a5e70e5c92bc16239992f044dbd1932ca7455ccfdf662075e97931
|
||||
size 145148116
|
3
rust-1.31.1-aarch64-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.31.1-aarch64-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8926323bd0a69cfa13fc42a933ac290ef2c2ed2795e49a76aee6a8b15e0f5522
|
||||
size 117785172
|
3
rust-1.31.1-arm-unknown-linux-gnueabihf.tar.xz
Normal file
3
rust-1.31.1-arm-unknown-linux-gnueabihf.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c24e6cd322bc3f23b3939b6738f72cb714814db97c2adb158fcfe3555a1ffce4
|
||||
size 124897320
|
3
rust-1.31.1-armv7-unknown-linux-gnueabihf.tar.xz
Normal file
3
rust-1.31.1-armv7-unknown-linux-gnueabihf.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2612d15507a90b17a212dc0cb95f13351fac0c9c0c52c3e13a947ffbcfc0e12e
|
||||
size 126152056
|
3
rust-1.31.1-i686-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.31.1-i686-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9f0877b2d8ec0ba0066a90fea267590603502e67269ebc2aa2d36e2fb050a5bc
|
||||
size 147063596
|
3
rust-1.31.1-powerpc64-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.31.1-powerpc64-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:18adbc13b5fdb0d7796a512c6408257f488dec96c055916093a441f5fea474ad
|
||||
size 122297864
|
3
rust-1.31.1-powerpc64le-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.31.1-powerpc64le-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:39240ba479858199e2dfdd7e706fab41e7b30f5fe56198473aaf182124d91576
|
||||
size 125272712
|
3
rust-1.31.1-s390x-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.31.1-s390x-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:db675fb948fa4de2c6c59c8cd92764b49616c355c25c5b5e5b036e1c2b8267d5
|
||||
size 127867704
|
3
rust-1.31.1-x86_64-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.31.1-x86_64-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b2a13544161f6a5a5d9d4130f2c4ce8043c2d3a7cd429310a51080111fbf957a
|
||||
size 148394364
|
164
rust.changes
164
rust.changes
@ -1,3 +1,167 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
13
rust.spec
13
rust.spec
@ -17,7 +17,7 @@
|
||||
#
|
||||
|
||||
|
||||
%global prev_rust 1.30.1
|
||||
%global prev_rust 1.31.1
|
||||
# some sub-packages are versioned independantly
|
||||
%global rustfmt_version 1.0.0
|
||||
%global rls_version 1.31.6
|
||||
@ -54,8 +54,6 @@
|
||||
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
|
||||
# We occasionally need to bootstrap builds due to breakage etc. Rust only guarantees
|
||||
# v-1 will build v
|
||||
# %bcond_with rust_bootstrap
|
||||
# Temporarily set the bootstrap flag in the spec so rings will build without intervention
|
||||
%bcond_with rust_bootstrap
|
||||
# Distro LLVM should be sufficient, this also cuts compile times byu almost half
|
||||
%if 0%{?suse_version} <= 1315
|
||||
@ -64,7 +62,7 @@
|
||||
%bcond_with bundled_llvm
|
||||
%endif
|
||||
Name: rust
|
||||
Version: 1.31.1
|
||||
Version: 1.32.0
|
||||
Release: 0
|
||||
Summary: A systems programming language
|
||||
License: MIT OR Apache-2.0
|
||||
@ -336,11 +334,10 @@ sed -e '/*\//q' src/libbacktrace/backtrace.h \
|
||||
# The configure macro will modify some autoconf-related files, which upsets
|
||||
# cargo when it tries to verify checksums in those files. If we just truncate
|
||||
# that file list, cargo won't have anything to complain about.
|
||||
find src/vendor -name .cargo-checksum.json \
|
||||
find vendor -name .cargo-checksum.json \
|
||||
-exec sed -i.uncheck -e 's/"files":{[^}]*}/"files":{ }/' '{}' '+'
|
||||
|
||||
# Fix rpmlint error "This script uses 'env' as an interpreter"
|
||||
sed -i '1s|#!%{_bindir}/env python|#!%{_bindir}/python3|' src/jemalloc/scripts/gen_travis.py
|
||||
sed -i '1s|#!%{_bindir}/env python|#!%{_bindir}/python3|' src/libcore/unicode/unicode.py
|
||||
find src/libcompiler_builtins/compiler-rt/lib/ -name '*.py' \
|
||||
-exec sed -i -e '1s|#!%{_bindir}/env python|#!%{_bindir}/python3|' '{}' '+'
|
||||
@ -393,8 +390,8 @@ export CPPFLAGS="%{optflags}" # eliminate complain from RPMlint
|
||||
sed -i -e "s|#codegen-units = 1|codegen-units = 2|" config.toml
|
||||
%endif
|
||||
|
||||
./x.py build
|
||||
./x.py doc
|
||||
./x.py build -v
|
||||
./x.py doc -v
|
||||
|
||||
%install
|
||||
DESTDIR=%{buildroot} python3 ./x.py install
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b38f6a1b5e12619f242e44ea494d177c72fd1f80160386b2e69b69446685fcfa
|
||||
size 96915864
|
3
rustc-1.32.0-src.tar.xz
Normal file
3
rustc-1.32.0-src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d617a7dc39daaafa8256320991005fc376c8ef2080593918301b24466d0067af
|
||||
size 99602696
|
Loading…
Reference in New Issue
Block a user