Last active
December 9, 2015 20:28
-
-
Save brson/4324472 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Mozilla and the Rust community are pleased to announce version 0.5 of | |
the Rust compiler and associated tools. | |
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.5 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.5.tar.gz | |
http://dl.rust-lang.org/dist/rust-0.5.tar.gz.asc | |
SHA256 (of .tar.gz): | |
XXX | |
* http://dl.rust-lang.org/dist/rust-0.5-install.exe | |
http://dl.rust-lang.org/dist/rust-0.5-install.exe.asc | |
SHA256 (of .exe): | |
XXX | |
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.5 (December 2012) | |
--------------------------- | |
* ~900 changes, numerous bugfixes | |
* Syntax changes | |
* Removed `<-` move operator | |
* Completed the transition from the `#fmt` extension syntax to `fmt!` | |
* Removed old fixed length vector syntax - `[T]/N` | |
* New token-based quasi-quoters, `quote_tokens!`, `quote_expr!`, etc. | |
* Macros may now expand to items and statements | |
* `a.b()` is always parsed as a method call, never as a field projection | |
* `Eq` and `IterBytes` implementations can be automatically generated | |
with `#[deriving_eq]` and `#[deriving_iter_bytes]` respectively | |
* Removed the special crate language for `.rc` files | |
* Function arguments may consist of any irrefutable pattern | |
* Semantic changes | |
* `&` and `~` pointers may point to objects | |
* Tuple structs - `struct Foo(Bar, Baz)`. Will replace newtype enums. | |
* Enum variants may be structs | |
* Destructors can be added to all nominal types with the Drop trait | |
* Structs and nullary enum variants may be constants | |
* Values that cannot be implicitly copied are now automatically moved | |
without writing `move` explicitly | |
* `&T` may now be coerced to `*T` | |
* Coercions happen in `let` statements as well as function calls | |
* `use` statements now take crate-relative paths | |
* The module and type namespaces have been merged so that static | |
method names can be resolved under the trait in which they are | |
declared | |
* Improved support for language features | |
* Trait inheritance works in many scenarios | |
* More support for explicit self arguments in methods - `self`, `&self` | |
`@self`, and `~self` all generally work as expected | |
* Static methods work in more situations | |
* Experimental: Traits may declare default methods for the implementations | |
to use | |
* Libraries | |
* New condition handling system in `core::condition` | |
* Timsort added to `std::sort` | |
* New priority queue, `std::priority_queue` | |
* Pipes for serializable types, `std::flatpipes' | |
* Serialization overhauled to be trait-based | |
* Expanded `getopts` definitions | |
* Moved futures to `std` | |
* More functions are pure now | |
* `core::comm` renamed to `oldcomm`. Still deprecated | |
* `rustdoc` and `cargo` are libraries now | |
* Misc | |
* Added a preliminary REPL, `rusti` | |
* License changed from MIT to dual MIT/APL2 | |
[1]: Contributors to Rust 0.5: | |
a_m0d | |
Andrew Dunham | |
Arkaitz Jimenez | |
Ben Striegel | |
Bilal Husain | |
Brian Anderson | |
Brian J. Burg | |
Brian Leibig | |
Cat's Eye Technologies | |
Damien Grassart | |
Daniel Micay | |
Daniel Patterson | |
Eric Holk | |
Erick Tryzelaar | |
Gabriel | |
Gareth Daniel Smith | |
Graydon Hoare | |
Huon Wilson | |
Isaac Aggrey | |
Jakub Wieczorek | |
Jesse Jones | |
Jimmy Lu | |
Josh Matthews | |
Jyun-Yan You | |
Kevin Cantu | |
Lindsey Kuper | |
Luca Bruno | |
Luqman Aden | |
Mahmut Bulut | |
Michael Arntzenius | |
Niko Matsakis | |
Patrick Walton | |
Paul Stansifer | |
Philipp Brüschweiler | |
Simon BD | |
Tim Chevalier | |
Tim Taubert | |
Tony Young | |
Tycho Sci | |
Viktor Dahl | |
Zack Corr |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment