Path to this page:
Subject: CVS commit: pkgsrc/lang/rust
From: Ryo ONODERA
Date: 2018-12-08 08:24:54
Message id: 20181208072454.A579FFB16@cvs.NetBSD.org
Log Message:
Update to 1.31.0
Changelog:
Version 1.31.0 (2018-12-06)
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 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
sl
ice::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.
Files: