Fairly on schedule we meet
Rust 1.4 . The release has absorbed 1,200 patches since the last release. The main attention was paid to the stabilization of the language, and this is already a serious argument in favor of the fact that the language has acquired intelligible forms, syntax and standard library.
This is the first stable release that comes in two ABI (
Application Binary Interface ), besides the usual GNU toolchain support for MSVC is added. The latter is still available in the 64-bit version, but I used the 32-bit version in the nightly version much earlier, although official support is scheduled for version 1.6. As a bonus: now the line
break in windows-style is correctly processed, for example, in
BufRead .
Of the other features:You can use aliases in multiple imports:
use foo::{bar as kitten, baz as puppy}
Finally dolman:
pub extern crate
This is good news, as the export of domestic crate, at least violates the law of Demeter. If you need to use the internal crate structure, it is even better to explicitly export. And why is it even needed? If you use different versions of crates with the external library and try to feed it with a foreign type (for example, the set of fields in the structure has changed), then everything will break.
Fixed bugs with (for
example , until you upload 1.4, you can see the difference on Stable)
&'static mut
The static lifetime was not so well worked out earlier, and it was possible to deceive the strict rules of the compiler with the rights to the variable.
')
Many changes have been made to the standard library. Mostly stabilization, but there are some improvements, for example, HashMap now implements the treyte Extend <T: Copy>. Another std :: io :: copy now knows how to work with types whose size is unknown at compilation.
Cargo has become a bit more talkative:
[cargo]$ cargo update Updating registry `https://github.com/rust-lang/crates.io-index` Updating libc v0.1.8 -> v0.1.10 Updating memchr v0.1.3 -> v0.1.5 Updating num v0.1.26 -> v0.1.27 Updating rand v0.3.9 -> v0.3.10 Updating rustc-serialize v0.3.15 -> v0.3.16
By the way, I update the dependencies of my projects once a week, and there is always something new, it's nice, you feel that the Rust community lives and develops, but most importantly, nothing more breaks from this.
The next release is scheduled for
December 10, 2015 : this year, Santa Claus will bring gifts to Rust programmers a little earlier)