Rust 1.6 Released
Written by Kay Ewbank   
Wednesday, 27 January 2016

The Rust development team have released version 1.6 of the system programming language with a stable version of libcore.

Mozilla's systems programming language Rust is designed to be safe, fast and concurrent without having a garbage collector. It is good for embedding in other languages, writing programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems.

The highlight of the new release is the stable libcore, alongside a number of small refinements and a change to Crates.io.

rustThe fact the core library is now stable is the big news. Rust’s standard library is two-tiered, consisting of a small core library (libcore), and a larger standard library that builds on top of it. The central libcore is platform agnostic and requires only a handful of external symbols to be defined. The standard library is responsible for memory allocation, I/O, and concurrency. Applications using Rust in the embedded space or for operating systems often don't bother with libstd and use only libcore.

Writing about the new release on the Rust blog, the developers say:

"libcore being stabilized is a major step towards being able to write the lowest levels of software using stable Rust. There’s still future work to be done, however. This will allow for a library ecosystem to develop around libcore, but applications are not fully supported yet. Expect to hear more about this in future release notes."

Around 30 library functions and methods are now stabl, with improvements to areas including the drain() family of functions on collections, and on type conversions. drain() methods let you move elements out of a collection while retaining their backing memory. This can reduce memory allocation in certain situations.

The type conversion improvements apply to the standard library types, mainly between integral and floating-point types.

The changes to crates.io remove support for wildcards. You now have to specify a specific version or range of versions. The thinking between the change is that wildcard dependencies result in attempts to use false versions of dependencies, causing unnecessary breakage in the ecosystem. The developers have been been advertising this change as a warning for some time; and it will now throw an error.

A full list of the changes is contained in the release notes.

Even though Rust has been stable now since it was released as version 1.0 in May 2015 it still isn't clear if the language has a future. It is still difficult to find major projects that make use of it other than Mozilla's own Servo layout engine - perhaps this alone is enough to guarantee it a future. 

rust

More Information

Release notes

Rust blog

Download Page

Related Articles

Rust 1.3 Released

Rust Releases New Versions

Rust Hits Stable 1.0 - So What?

Rust 1.0 Alpha Released       

Rust Reaches 0.9

Rust 0.7 Released

Rust 0.4 Full Integration of Borrowed Pointers

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter,subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin

Banner


The IProgrammer Perl 2024 Review
08/01/2025

We recap the main events that happened throughout 2024 in the Perl world as explored by IProgrammer.



Algol 68 Revitalised and Now In GCC
29/01/2025

The latest addition to the GNU Compiler Collection is Algol 68 and you can be forgiven for thinking it sounds like a blast from the past. However, you need to remember that ALGOL, standing for ALGOrih [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Wednesday, 27 January 2016 )