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


Lightbend Announces Akka 3
15/11/2024

Lightbend, the company that developed Akka, has announced Akka 3, and has changed its name to Akka. The company produces cloud-native microservices frameworks, and Akka is used for building distribute [ ... ]



Raspberry Pi CM5 - Expensive And Undocumented
27/11/2024

So the unexpected has happened - the Compute Module 5 has been launched. But it simply emphasises some problems with adopting the Pi as an IoT device.


More News

espbook

 

Comments




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

Last Updated ( Wednesday, 27 January 2016 )