[rust-dev] Rust 0.4 released
Graydon Hoare
graydon at mozilla.com
Mon Oct 15 13:31:06 PDT 2012
Mozilla and the Rust community are pleased to announce version 0.4 of
the Rust compiler and associated tools.
This release focuses on stabilizing as much of the language syntax as
possible, fully integrating borrowed pointers, and removing argument
modes. The brief release notes are included in this announcement, and
there is further explanation in the detailed release [notes] on the
wiki. Documentation and all the links in this email are available on the
[website]. As usual, version 0.4 should be considered an alpha release,
suitable for early adopters and language enthusiasts. Please file [bugs].
[notes]: https://github.com/mozilla/rust/wiki/Doc-detailed-release-notes
[website]: http://www.rust-lang.org
[bugs]: http://github.com/mozilla/rust/issues
This release is available as both a tarball and a Windows installer:
* http://dl.rust-lang.org/dist/rust-0.4.tar.gz
http://dl.rust-lang.org/dist/rust-0.4.tar.gz.asc
SHA256 (of .tar.gz):
150685f07e4d605cadf9fba25b05e9cc1b009364dd744131cf4230d64981d093
* http://dl.rust-lang.org/dist/rust-0.4-install.exe
http://dl.rust-lang.org/dist/rust-0.4-install.exe.asc
SHA256 (of .exe):
957bb98c0ff0af209a646c0e961abc98117363695e244e31a89c76d32d4ca827
Regrettably, installing 0.4 over 0.3 will not work as expected. Please
uninstall first.
Note that the Windows installer still requires a somewhat specific
version of MinGW and Msys to operate; recent builds of MinGW provide
versions of GCC that are incompatible. Rust presently builds and tests
with release 20110802, containing GCC 4.5. [Details] can be found on the
wiki.
[details]:
https://github.com/mozilla/rust/wiki/Note-getting-started-developing-Rust
Thanks to everybody who has contributed[1].
Regards,
The Rust Team
Version 0.4 (October 2012)
--------------------------
* ~2200 changes, numerous bugfixes
* Syntax
* All keywords are now strict and may not be used as identifiers
anywhere
* Keyword removal: 'again', 'import', 'export', 'check',
'new', 'owned', 'send', 'of', 'with', 'to', 'class'.
* Classes are replaced with simpler structs
* Explicit method self types
* `ret` became `return` and `alt` became `match`
* `import` is now `use`; `use is now `extern mod`
* `extern mod { ... }` is now `extern { ... }`
* `use mod` is the recommended way to import modules
* `pub` and `priv` replace deprecated export lists
* The syntax of `match` pattern arms now uses fat arrow (=>)
* `main` no longer accepts an args vector; use `os::args` instead
* Semantics
* Trait implementations are now coherent, ala Haskell typeclasses
* Trait methods may be static
* Argument modes are deprecated
* Borrowed pointers are much more mature and recommended for use
* Static strings and vectors are stored in constant memory
* Typestate was removed
* Resolution rewritten to be more reliable
* Support for 'dual-mode' data structures (freezing and thawing)
* Libraries
* Most binary operators can now be overloaded via the traits in
`core::ops'
* `std::net::url` for representing URLs
* Sendable hash maps in `core::send_map`
* `core::task' gained a (currently unsafe) task-local storage API
* Concurrency
* An efficient new intertask communication primitive called the
pipe, along with a number of higher-level channel types, in
`core::pipes`
* `std::arc`, an atomically reference counted, immutable,
shared memory type
* `std::sync`, various synchronization tools based on arcs
and pipes
* Futures are now based on pipes and sendable
* More robust linked task failure
* Improved task builder API
* Other
* Improved error reporting
* Preliminary JIT support
* Preliminary work on precise GC
* Extensive architectural improvements to rustc
* Begun a transition away from buggy C++-based reflection (shape)
code to Rust-based (visitor) code
* All hash functions and tables converted to secure, randomized
SipHash
[1]: Contributors to Rust 0.4:
Andrew Paseltiner
Ben Blum
Ben Striegel
Benjamin Peterson
Brian Anderson
Brian J. Burg
Chris Peterson
Damian Gryski
Daniel Patterson
Drew Willcoxon
Elliott Slaughter
Eric Holk
Erick Tryzelaar
Francisco Souza
Gareth Daniel Smith
Glenn Willen
Gonçalo Cabrita
Graydon Hoare
Jacob Harris Cryer Kragh
Jed Davis
Jeff Olson
Jesse Ruderman
Jim Blandy
Joshua Wise
Jyun-Yan You
Kevin Cantu
Lindsey Kuper
Luca Bruno
Max Penet
Michael Sullivan
Niko Matsakis
Orphée Lafond-Lummis
Patrick Walton
Patrik Kårlin
Paul Stansifer
Philipp Brüschweiler
Ryan Scheel
Ted Horst
Tim Chevalier
Vincent Belliard
Yasuhiro Fujii
Zack Corr
alexrp
auREAX
tav
More information about the Rust-dev
mailing list