[rust-dev] Rust 0.3 released

Mozilla and the Rust community are pleased to announce version 0.3 of the Rust compiler and associated tools. Snapshot documentation and all the links in this email are available on our website: http://www.rust-lang.org Version 0.3 should still be considered an alpha release, suitable for early adopters and language enthusiasts. Please file bugs at 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.3.tar.gz http://dl.rust-lang.org/dist/rust-0.3.tar.gz.asc SHA256 (of .tar.gz): b34c895b9596abb6942d1688e6a5189b08b92e2507234779779c1af91e9ae84e * http://dl.rust-lang.org/dist/rust-0.3-install.exe http://dl.rust-lang.org/dist/rust-0.3-install.exe.asc SHA256 (of .exe): eb5578506f3df4e55b062223b0d31cfeb28023c0daa37dfcee502b5ce8d0dc80 Please note that the windows installer 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. This can be installed separately from sourceforge: http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20110802/mingw-get-inst-20110802.exe/download Also note that in addition to this announcement we are now posting more detailed release notes on the wiki, as well as a longer-term roadmap. We hope these documents serve as helpful guides to evaluating the state of the project: https://github.com/mozilla/rust/wiki/Doc-detailed-release-notes https://github.com/mozilla/rust/wiki/Note-development-roadmap Thanks to everybody who has contributed[1]. Regards, The Rust Team Version 0.3 (July 2012) ------------------------ * ~1900 changes, numerous bugfixes * New coding conveniences * Integer-literal suffix inference * Per-item control over warnings, errors * #[cfg(windows)] and #[cfg(unix)] attributes * Documentation comments * More compact closure syntax * 'do' expressions for treating higher-order functions as control structures * *-patterns (wildcard extended to all constructor fields) * Semantic cleanup * Name resolution pass and exhaustiveness checker rewritten * Region pointers and borrow checking supersede alias analysis * Init-ness checking is now provided by a region-based liveness pass instead of the typestate pass; same for last-use analysis * Extensive work on region pointers * Experimental new language features * Slices and fixed-size, interior-allocated vectors * #!-comments for lang versioning, shell execution * Destructors and iface implementation for classes; type-parameterized classes and class methods * 'const' type kind for types that can be used to implement shared-memory concurrency patterns * Type reflection * Removal of various obsolete features * Keywords: 'be', 'prove', 'syntax', 'note', 'mutable', 'bind', 'crust', 'native' (now 'extern'), 'cont' (now 'again') * Constructs: do-while loops ('do' repurposed), fn binding, resources (replaced by destructors) * Compiler reorganization * Syntax-layer of compiler split into separate crate * Clang (from LLVM project) integrated into build * Typechecker split into sub-modules * New library code * New time functions * Extension methods for many built-in types * Arc: atomic-refcount read-only / exclusive-use shared cells * Par: parallel map and search routines * Extensive work on libuv interface * Much vector code moved to libraries * Syntax extensions: #line, #col, #file, #mod, #stringify, #include, #include_str, #include_bin * Tool improvements * Cargo automatically resolves dependencies [1] Contributors to Rust 0.3: Alexander Stavonin Arkaitz Jimenez Armin Ronacher Ben Blum Ben Striegel Benjamin Herr Benjamin Kircher Brian Anderson Eric Holk Erick Tryzelaar Evan McClanahan Gareth Daniel Smith Glenn Willen Grahame Bowland Graydon Hoare Haitao Li Jeff Olson Jesse Ruderman Jon Morton Jonathan Sternberg Josh Matthews Joshua Wise Jyun-Yan You Kevin Cantu Lindsey Kuper Margaret Meyerhofer Marijn Haverbeke Michael Sullivan Niko Matsakis Patrick Walton Paul Stansifer Ryan Scheel Ted Horst Tim Chevalier Tycho Sci Zack Corr