Path to this page:
Subject: CVS commit: pkgsrc/lang/rust
From: Ryo ONODERA
Date: 2018-02-18 13:12:54
Message id: 20180218121254.F4024FB40@cvs.NetBSD.org
Log Message:
Update to 1.24.0
* Disable SunOS support for a while
Changelog:
Version 1.24.0 (2018-02-15)
Language
External sysv64 ffi is now available. eg. extern "sysv64" fn foo () {}
Compiler
rustc now uses 16 codegen units by default for release builds. For
the fastest builds, utilize codegen-units=1.
Added armv4t-unknown-linux-gnueabi target.
Add aarch64-unknown-openbsd support
Libraries
str::find::<char> now uses memchr. This should lead to a 10x improvement
in performance in the majority of cases.
OsStr's Debug implementation is now lossless and consistent with Windows.
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 efficent x86 assembly
[u8]::contains now uses memchr which provides a 3x speed improvement
Stabilized APIs
RefCell::replace
RefCell::swap
atomic::spin_loop_hint
The following functions can now be used in a constant expression.
eg. let buffer: [u8; size_of::<usize>()];, static COUNTER: AtomicUsize =
AtomicUsize::new(1);
AtomicBool::new
AtomicUsize::new
AtomicIsize::new
AtomicPtr::new
Cell::new
{integer}::min_value
{integer}::max_value
mem::size_of
mem::align_of
ptr::null
ptr::null_mut
RefCell::new
UnsafeCell::new
Cargo
Added a workspace.default-members config that overrides implied --all
in virtual workspaces.
Enable incremental by default on development builds. Also added
configuration keys to Cargo.toml and .cargo/config to disable on
a per-project or global basis respectively.
Misc
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 Sec. 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
Files: