|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.
The 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.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Wednesday, 27 January 2016 )|