Rust programming language version 1.25 released:
Rust is a programming language that helps you write faster, more reliable software. High-level ergonomics and low-level control are often at odds with each other in programming language design; Rust stands to challenge that. Through balancing powerful technical capacity and a great developer experience, Rust gives you the option to control low-level details (such as memory usage) without all the hassle traditionally associated with such control.
Featuring
- zero-cost abstractions
- move semantics
- guaranteed memory safety
- threads without data races
- trait-based generics
- pattern matching
- type inference
- minimal runtime
- efficient C bindings
Rust 1.25 has been released. This is not a particularly large version update, but it is worth noting that the compiler has been upgraded from LLVM 4 to LLVM 6.
Changelog
Language
- Stabilised
#[repr(align(x))]
. RFC 1358 - You can now use nested groups of imports. e.g.
use std::{fs::File, io::Read, path::{Path, PathBuf}};
- You can now have
|
at the start of a match arm. e.g.
Compiler
Libraries
- Impl Send for
process::Command
on Unix. - Impl PartialEq and Eq for
ParseCharError
. UnsafeCell::into_inner
is now safe.- Implement libstd for CloudABI.
Float::{from_bits, to_bits}
is now available in libcore.- Implement
AsRef<Path>
for Component - Implemented
Write
forCursor<&mut Vec<T>>
- Moved
Duration
to libcore.
Stabilized APIs
The following functions can now be used in a constant expression. eg. static MINUTE: Duration = Duration::from_secs(60);
Cargo
cargo new
no longer removesrust
orrs
prefixs/suffixs.cargo new
now defaults to creating a binary crate, instead of a library crate.
Misc
Update
$ rustup update stable