Rust, the systems programming language being developed by Mozilla, has reached Version 0.7 and continues to evolve as a safe, concurrent systems language.

Rust is a curly-brace, block-structured expression language that looks similar to C and C++ and allows developers to write code that behaves well in large and concurrent systems. It originated as a side project designed by Mozilla developer Graydon Hoare, and is now being carried forward by Mozilla for Servo, its new browser engine that takes advantage of multicore processors.

According to the announcement posted by Brian Anderson:

This release had a markedly different focus from previous releases, with fewer language changes and many improvements to the standard library. The highlights this time include a rewrite of the borrow checker that makes working with borrowed pointers significantly easier and a comprehensive new iterator module (std::iterator) that will eventually replace the previous closure-based iterators.

Cloning rather than copyingThe copy keyword is being removed in favor of traits. Explicit copying is now performed with the clone method of the Clone trait, which as part of the Rust prelude is always in scope.

Numeric traitsThere is now a proper numerical tower, defined in std::num with a comprehensive range of traits. All numeric types implement trait Num, which in turn inherits from the operator traits, Neg, Add, Eq, as well as the Zero and One traits. Num itself defines no methods. Signed types extend Num with methods specific to signed types, such as abs, and there's a corresponding Unsigned trait (that defines no new methods).

The rustpkg system, which is still experimental, has also seen some improvements with URL-like package IDs to refer to local or remote packages, the ability to download packages from GitHub, explicitly versioning in the new ids and the removal of the need to include a packaging script.