Rust 0.7 never sleeps
As Mozilla's language Rust develops, so it becomes more nuanced and less volatile. The latest release of Rust, version 0.7, doesn't have many breaking language changes but does continue refining that language, with over 2000 changes made. Rust, which began life as a side project for developers Graydon Hoare, is being developed at Mozilla to provide the safe, concurrent systems language the Mozilla developers want for building their next generation browser, Servo.
Among the highlighted Rust 0.7 changes, the
copy keyword is being retired in favour of the
clone method, which is always in scope and makes shallow copies of managed pointers and shared pointer types. Rust's transition to using new Iterator types continues:
for still uses the old internal iterator style, but in the next version will move to the new external iterators, which offer more flexibility. Numeric types have also been pulled together to implement Num traits, which bring in operator and value traits, with signed number types getting Signed traits like abs and real number types getting Real traits including fractional, algebraic and trigonometric methods. There are also bounded, bitwise and primitive traits in what is now described as a proper numerical tower.
The still-experimental rustpkg system 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. The Rust 0.7 release notes also say that the core library has been renamed to std, and the std library renamed to extra. Also new lint modes identify unused variables, unnecessary unsafe blocks, unused mut (mutable) qualifiers and unread variables.
Rust 0.7 is available to download from the rust-lang.org web site, along with Rust tutorials, reference manual, and std and extra library documentation. Rust is released under the MIT or Apache 2 licences.