Skip to content

Instantly share code, notes, and snippets.

@brson
Last active December 9, 2015 20:28
Show Gist options
  • Save brson/4324472 to your computer and use it in GitHub Desktop.
Save brson/4324472 to your computer and use it in GitHub Desktop.
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