What’s new in Rust 1.25 Credit: Gratisography

What’s new in Rust 1.25

Version 1.25 of the Rust systems programming language is now available, featuring an upgrade to its LLVM (Low-Level Virtual Machine) compiler infrastructure that improves support for the WebAssembly portable code format, which itself is designed to improve the performance of web applications.

The latest Rust version also has improvements for the Cargo package manager and library stabilizations.

Where to download Rust

You can install Rust using your terminal and entering the following command: curl https://sh.rustup.rs -sSf | sh

What’s new in Rust 1.25

New Rust features from the LLVM upgrade

The Rust language has been upgraded to LLVM 6 from LLVM 4. This lets Rust keep abreast of the upstream WebAssembly back end and pick up new features when they land.

The LLVM upgrade also fixes some SIMD-related compilation errors. For internet of thigs (IoT) development, LLVM 6 brings Rust closer to supporting the AVR microntroller family, leveraged in the Arduino Uno board. Rust, Mozilla claims, can improve security and reliability of IoT devices and is much better at this than the C/C++ languages commonly used to write microcontroller firmware. AVR support is due soon.

New Rust features from the Cargo CLI changes

For the Cargo command-line interface, cargo new will default to generating a binary rather than a library. Rust’s developers said they try to keep the CLI stable but that this change was important and unlikely to result in breakage. They said that cargo new accepts two flags:

  • --lib, for building libraries
  • --bin, to build binaries or executables

In previous versions of Cargo, developers who did not pass one of these flags would default to --lib. This was done because each binary often depends on other libraries, thus making the library case more common. But this behavior is actually incorrect, because each library is depended on by many binaries. Also, some community members found the default surprising.

Other new features in Rust 1.25

Other features in Rust 1.25 include:

  • Library stabilizations include a std::ptr::NonNull<T> type, which is nonnull and covariant.
  • libcore has gained the time module, with the Duration type that had only been available in libstd
  • Checkouts of Git dependenices from the Cargo database folder should be quicker, due to the use of hard links. Cargo caches Git repositories in a few locations.
  • Nested imports groups provide a new way to write use statements, which can reduce repetition and foster clarity.
IDG Insider

PREVIOUS ARTICLE

«11 ways ransomware is evolving

NEXT ARTICLE

Tobii's eye-tracking tech is niche on PCs, but makes virtual reality feel like magic»
author_image
IDG Connect

IDG Connect tackles the tech stories that matter to you

Our Case Studies

IDG Connect delivers full creative solutions to meet all your demand generatlon needs. These cover the full scope of options, from customized content and lead delivery through to fully integrated campaigns.

images

Our Marketing Research

Our in-house analyst and editorial team create a range of insights for the global marketing community. These look at IT buying preferences, the latest soclal media trends and other zeitgeist topics.

images

Poll

Should the government regulate Artificial Intelligence?