Great work, thanks.
在 2014年1月10日 上午5:04,"Brian Anderson" <bander...@mozilla.com>写道:

>  Mozilla and the Rust community are pleased to announce version 0.9 of the
> Rust compiler and tools. Rust is a systems programming language with a
> focus on safety, performance and concurrency.
>
> This was another eventful release in which we made extensive improvements
> to the runtime and I/O subsystem, introduced static linking and link-time
> optimization, and reduced the variety of closures in the language. 0.9
> also
> begins a final series of planned changes to how pointers are treated in
> Rust, starting with the deprecation of the built-in "managed pointer" type
> and its accompanying `@` sigil, and the introduction of smart pointer
> types
> to the standard library.
>
> 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.9 should be considered an alpha release,
> suitable for early adopters and language enthusiasts. Please file [bugs]
> and join the [fun].
>
> [website]: http://www.rust-lang.org
> [notes]: https://github.com/mozilla/rust/wiki/Doc-detailed-release-notes
> [bugs]: https://github.com/mozilla/rust/issues
> [fun]:
> https://github.com/mozilla/rust/wiki/Note-guide-for-new-contributors
>
> This release is available as both a tarball and a Windows installer:
>
> * http://static.rust-lang.org/dist/rust-0.9.tar.gz
> http://static.rust-lang.org/dist/rust-0.9.tar.gz.asc
> SHA256 (of .tar.gz):
> c0911c3545b797a1ca16f3d76bf5ed234754b828efd1e22c182c7300ac7dd5d1
>
> * http://static.rust-lang.org/dist/rust-0.9-install.exe
> http://static.rust-lang.org/dist/rust-0.9-install.exe.asc
> SHA256 (of .exe):
> 6ab14e25761d61ba724c5f77403d09d566d3187a2e048e006036b960d938fe90
>
> Thanks to everyone who contributed!
>
> Regards,
> The Rust Team
>
>
> Version 0.9 (January 2014)
> --------------------------
>
> * Language
> * The `float` type has been removed. Use `f32` or `f64` instead.
> * A new facility for enabling experimental features (feature gating)
> has been added, using the crate-level `#[feature(foo)]` attribute.
> * Managed boxes (@) are now behind a feature gate
> (`#[feature(managed_boxes)]`) in preperation for future removal. Use
> the standard library's `Gc` or `Rc` types instead.
> * `@mut` has been removed. Use `std::cell::{Cell, RefCell}` instead.
> * Jumping back to the top of a loop is now done with `continue` instead
> of `loop`.
> * Strings can no longer be mutated through index assignment.
> * Raw strings can be created via the basic `r"foo"` syntax or with
> matched hash delimiters, as in `r###"foo"###`.
> * `~fn` is now written `proc (args) -> retval { ... }` and may only be
> called once.
> * The `&fn` type is now written `|args| -> ret` to match the literal
> form.
> * `@fn`s have been removed.
> * `do` only works with procs in order to make it obvious what the cost
> of `do` is.
> * Single-element tuple-like structs can no longer be dereferenced to
> obtain the inner value. A more comprehensive solution for overloading
> the dereference operator will be provided in the future.
> * The `#[link(...)]` attribute has been replaced with
> `#[crate_id = "name#vers"]`.
> * Empty `impl`s must be terminated with empty braces and may not be
> terminated with a semicolon.
> * Keywords are no longer allowed as lifetime names; the `self` lifetime
> no longer has any special meaning.
> * The old `fmt!` string formatting macro has been removed.
> * `printf!` and `printfln!` (old-style formatting) removed in favor of
> `print!` and `println!`.
> * `mut` works in patterns now, as in `let (mut x, y) = (1, 2);`.
> * The `extern mod foo (name = "bar")` syntax has been removed. Use
> `extern mod foo = "bar"` instead.
> * New reserved keywords: `alignof`, `offsetof`, `sizeof`.
> * Macros can have attributes.
> * Macros can expand to items with attributes.
> * Macros can expand to multiple items.
> * The `asm!` macro is feature-gated (`#[feature(asm)]`).
> * Comments may be nested.
> * Values automatically coerce to trait objects they implement, without
> an explicit `as`.
> * Enum discriminants are no longer an entire word but as small as needed
> to contain all the variants. The `repr` attribute can be used to
> override the discriminant size, as in `#[repr(int)]` for integer-sized,
> and `#[repr(C)]` to match C enums.
> * Non-string literals are not allowed in attributes (they never worked).
> * The FFI now supports variadic functions.
> * Octal numeric literals, as in `0o7777`.
> * The `concat!` syntax extension performs compile-time string
> concatenation.
> * The `#[fixed_stack_segment]` and `#[rust_stack]` attributes have been
> removed as Rust no longer uses segmented stacks.
> * Non-ascii identifiers are feature-gated
> (`#[feature(non_ascii_idents)]`).
> * Ignoring all fields of an enum variant or tuple-struct is done with
> `..`, not `*`; ignoring remaining fields of a struct is also done
> with `..`, not `_`; ignoring a slice of a vector is done with `..`,
> not `.._`.
> * `rustc` supports the "win64" calling convention via `extern "win64"`.
> * `rustc` supports the "system" calling convention, which defaults to
> the preferred convention for the target platform, "stdcall" on 32-bit
> Windows, "C" elsewhere.
> * The `type_overflow` lint (default: warn) checks literals for overflow.
> * The `unsafe_block` lint (default: allow) checks for usage of `unsafe`.
> * The `attribute_usage` lint (default: warn) warns about unknown
> attributes.
> * The `unknown_features` lint (default: warn) warns about unknown
> feature gates.
> * The `dead_code` lint (default: warn) checks for dead code.
> * Rust libraries can be linked statically to one another
> * `#[link_args]` is behind the `link_args` feature gate.
> * Native libraries are now linked with `#[link(name = "foo")]`
> * Native libraries can be statically linked to a rust crate
> (`#[link(name = "foo", kind = "static")]`).
> * Native OS X frameworks are now officially supported
> (`#[link(name = "foo", kind = "framework")]`).
> * The `#[thread_local]` attribute creates thread-local (not task-local)
> variables. Currently behind the `thread_local` feature gate.
> * The `return` keyword may be used in closures.
> * Types that can be copied via a memcpy implement the `Pod` kind.
> * The `cfg` attribute can now be used on struct fields and enum variants.
>
> * Libraries
> * std: The `option` and `result` API's have been overhauled to make them
> simpler, more consistent, and more composable.
> * std: The entire `std::io` module has been replaced with one that is
> more comprehensive and that properly interfaces with the underlying
> scheduler. File, TCP, UDP, Unix sockets, pipes, and timers are all
> implemented.
> * std: `io::util` contains a number of useful implementations of
> `Reader` and `Writer`, including `NullReader`, `NullWriter`,
> `ZeroReader`, `TeeReader`.
> * std: The reference counted pointer type `extra::rc` moved into std.
> * std: The `Gc` type in the `gc` module will replace `@` (it is currently
> just a wrapper around it).
> * std: The `Either` type has been removed.
> * std: `fmt::Default` can be implemented for any type to provide default
> formatting to the `format!` macro, as in `format!("{}", myfoo)`.
> * std: The `rand` API continues to be tweaked.
> * std: The `rust_begin_unwind` function, useful for inserting
> breakpoints on failure in gdb, is now named `rust_fail`.
> * std: The `each_key` and `each_value` methods on `HashMap` have been
> replaced by the `keys` and `values` iterators.
> * std: Functions dealing with type size and alignment have moved from
> the `sys` module to the `mem` module.
> * std: The `path` module was written and API changed.
> * std: `str::from_utf8` has been changed to cast instead of allocate.
> * std: `starts_with` and `ends_with` methods added to vectors via the
> `ImmutableEqVector` trait, which is in the prelude.
> * std: Vectors can be indexed with the `get_opt` method, which returns
> `None` if the index is out of bounds.
> * std: Task failure no longer propagates between tasks, as the model
> was complex, expensive, and incompatible with thread-based tasks.
> * std: The `Any` type can be used for dynamic typing.
> * std: `~Any` can be passed to the `fail!` macro and retrieved via
> `task::try`.
> * std: Methods that produce iterators generally do not have an `_iter`
> suffix now.
> * std: `cell::Cell` and `cell::RefCell` can be used to introduc
> mutability roots (mutable fields, etc.). Use instead of e.g. `@mut`.
> * std: `util::ignore` renamed to `prelude::drop`.
> * std: Slices have `sort` and `sort_by` methods via the `MutableVector`
> trait.
> * std: `vec::raw` has seen a lot of cleanup and API changes.
> * std: The standard library no longer includes any C++ code, and very
> minimal C, eliminating the dependency on libstdc++.
> * std: Runtime scheduling and I/O functionality has been factored out
> into extensible interfaces and is now implemented by two different
> crates: libnative, for native threading and I/O; and libgreen, for
> green threading and I/O. This paves the way for using the standard
> library in more limited embeded environments.
> * std: The `comm` module has been rewritten to be much faster, have a
> simpler, more consistent API, and to work for both native and green
> threading.
> * std: All libuv dependencies have been moved into the rustuv crate.
> * native: New implementations of runtime scheduling on top of OS
> threads.
> * native: New native implementations of TCP, UDP, file I/O, process
> spawning, and other I/O.
> * green: The green thread scheduler and message passing types are
> almost entirely lock-free.
> * extra: The `flatpipes` module had bitrotted and was removed.
> * extra: All crypto functions have been removed and Rust now has a
> policy of not reimplementing crypto in the standard library. In the
> future crypto will be provided by external crates with bindings to
> established libraries.
> * extra: `c_vec` has been modernized.
> * extra: The `sort` module has been removed. Use the `sort` method on
> mutable slices.
>
> * Tooling
> * The `rust` and `rusti` commands have been removed, due to lack of
> maintenance.
> * `rustdoc` was completely rewritten.
> * `rustdoc` can test code examples in documentation.
> * `rustpkg` can test packages with the argument, 'test'.
> * `rustpkg` supports arbitrary dependencies, including C libraries.
> * `rustc`'s support for generating debug info is improved again.
> * `rustc` has better error reporting for unbalanced delimiters.
> * `rustc`'s JIT support was removed due to bitrot.
> * Executables and static libraries can be built with LTO (-Z lto)
> * `rustc` adds a `--dep-info` flag for communicating dependencies to
> build tools.
>
>
> Contributors to Rust 0.9
> ------------------------
>
> Adrien Tétar <adri-from...@hotmail.fr> <adri-from...@hotmail.fr>
> Alan Andrade <alan.andra...@gmail.com> <alan.andra...@gmail.com>
> Alexandros Tasos <sdi1100...@di.uoa.gr> <sdi1100...@di.uoa.gr>
> Alex Crichton <a...@alexcrichton.com> <a...@alexcrichton.com>
> a_m0d <damien.sch...@gmail.com> <damien.sch...@gmail.com>
> Andreas Neuhaus <zarg...@zargony.com> <zarg...@zargony.com>
> Andreas Ots <andreas...@gmail.com> <andreas...@gmail.com>
> Andrei Formiga 
> <archimedes_sirac...@hotmail.com><archimedes_sirac...@hotmail.com>
> Benjamin Herr <b...@0x539.de> <b...@0x539.de>
> Benjamin Peterson <benja...@python.org> <benja...@python.org>
> Birunthan Mohanathas <birunt...@mohanathas.com> <birunt...@mohanathas.com>
> blake2-ppc <blake2-ppc>
> Branimir <brani...@volomp.com> <brani...@volomp.com>
> Brendan Zabarauskas <bjz...@yahoo.com.au> <bjz...@yahoo.com.au>
> Brian Anderson <bander...@mozilla.com> <bander...@mozilla.com>
> Brian <brian.t.d...@gmail.com> <brian.t.d...@gmail.com>
> Cadence Marseille <cadencemarsei...@gmail.com><cadencemarsei...@gmail.com>
> Carl-Anton Ingmarsson <m...@carlanton.se> <m...@carlanton.se>
> Carol Willing 
> <carolc...@willingconsulting.com><carolc...@willingconsulting.com>
> Carter Tazio Schonwald 
> <carter.schonw...@gmail.com><carter.schonw...@gmail.com>
> chitra 
> <chitra@chitra-HP-Pavilion-g6-Notebook-PC.(none)><chitra@chitra-HP-Pavilion-g6-Notebook-PC.%28none%29>
> Chris Morgan <m...@chrismorgan.info> <m...@chrismorgan.info>
> Chris Sainty <csai...@hotmail.com> <csai...@hotmail.com>
> Corey Richardson <co...@octayn.net> <co...@octayn.net>
> Dan Connolly <d...@madmode.com> <d...@madmode.com>
> Daniel Micay <danielmi...@gmail.com> <danielmi...@gmail.com>
> Dan Luu <dan...@gmail.com> <dan...@gmail.com>
> Dave Hodder <d...@dmh.org.uk> <d...@dmh.org.uk>
> David Creswick <dcr...@gyrae.net> <dcr...@gyrae.net>
> David Renshaw <dwrens...@gmail.com> <dwrens...@gmail.com>
> Diego Ongaro <ong...@cs.stanford.edu> <ong...@cs.stanford.edu>
> Dirkjan Bussink <d.buss...@gmail.com> <d.buss...@gmail.com>
> Dmitry Ermolov <epdmi...@yandex.ru> <epdmi...@yandex.ru>
> Do Nhat Minh <mrordina...@gmail.com> <mrordina...@gmail.com>
> Eduard Burtescu <edy.b...@gmail.com> <edy.b...@gmail.com>
> Edward Z. Yang <ezy...@cs.stanford.edu> <ezy...@cs.stanford.edu>
> eliovir <elio...@gmail.com> <elio...@gmail.com>
> Eric Biggers <ebigge...@gmail.com> <ebigge...@gmail.com>
> Eric Holk <eric.h...@gmail.com> <eric.h...@gmail.com>
> Erick Tryzelaar <erick.tryzel...@gmail.com> <erick.tryzel...@gmail.com>
> Erik Lyon <elyon...@local.fake> <elyon...@local.fake>
> Erik Price <erik.pric...@gmail.com> <erik.pric...@gmail.com>
> Fabrice Desré <fabr...@desre.org> <fabr...@desre.org>
> Felix S. Klock II <pnkfe...@pnkfx.org> <pnkfe...@pnkfx.org>
> Flavio Percoco <flape...@gmail.com> <flape...@gmail.com>
> flo-l <lackner...@gmail.com> <lackner...@gmail.com>
> Florian Gilcher <florian.gilc...@asquera.de> <florian.gilc...@asquera.de>
> Florian Hahn <f...@fhahn.com> <f...@fhahn.com>
> Florian Zeitz <flo...@babelmonkeys.de> <flo...@babelmonkeys.de>
> g3xzh <g3...@yahoo.com> <g3...@yahoo.com>
> Gareth Smith <garethdanielsm...@gmail.com> <garethdanielsm...@gmail.com>
> Geoff Hill <ge...@geoffhill.org> <ge...@geoffhill.org>
> Geoffroy Couprie <geo.coup...@gmail.com> <geo.coup...@gmail.com>
> Georges Dubus <georges.du...@compiletoi.net><georges.du...@compiletoi.net>
> gifnksm <makoto.nksm+git...@gmail.com> <makoto.nksm+git...@gmail.com>
> Guillaume Pinot <texi...@texitoi.eu> <texi...@texitoi.eu>
> Gyorgy Andrasek <jur...@gmail.com> <jur...@gmail.com>
> Harry Marr <harry.m...@gmail.com> <harry.m...@gmail.com>
> Heather <heat...@cynede.net> <heat...@cynede.net>
> Huon Wilson <dbau.pp+git...@gmail.com> <dbau.pp+git...@gmail.com>
> Ian Daniher <it.dani...@gmail.com> <it.dani...@gmail.com>
> Igor Bukanov <i...@mir2.org> <i...@mir2.org>
> Isaac Dupree <antis...@idupree.com> <antis...@idupree.com>
> Jack Moffitt <j...@metajack.im> <j...@metajack.im>
> Jaemin Moon <jaemin.m...@samsung.com> <jaemin.m...@samsung.com>
> Jan Niklas Hasse <jha...@gmail.com> <jha...@gmail.com>
> Jannis Harder <j...@jixco.de> <j...@jixco.de>
> Jason Orendorff <jason.orendo...@gmail.com> <jason.orendo...@gmail.com>
> Jason Toffaletti <ja...@topsy.com> <ja...@topsy.com>
> Jay Anderson <jayanders...@gmail.com> <jayanders...@gmail.com>
> Jed Davis <j...@panix.com> <j...@panix.com>
> Jeff Olson <olson.jeff...@gmail.com> <olson.jeff...@gmail.com>
> Joe Schafer <j...@jschaf.com> <j...@jschaf.com>
> John Louis Walker <inj...@gmail.com> <inj...@gmail.com>
> Jordi Boggiano <j.boggi...@seld.be> <j.boggi...@seld.be>
> Joshua Yanovski <pythones...@gmail.com> <pythones...@gmail.com>
> Julia Evans <ju...@jvns.ca> <ju...@jvns.ca>
> Jyun-Yan You <jy...@cs.nctu.edu.tw> <jy...@cs.nctu.edu.tw>
> Keegan McAllister <kmcallis...@mozilla.com> <kmcallis...@mozilla.com>
> Kevin Ballard <ke...@sb.org> <ke...@sb.org>
> Kiet Tran <ktt...@gmail.com> <ktt...@gmail.com>
> klutzy <klutzytheklu...@gmail.com> <klutzytheklu...@gmail.com>
> kud1ing <git...@kudling.de> <git...@kudling.de>
> Leah Hanson <astriea...@gmail.com> <astriea...@gmail.com>
> LEE Wondong <wdle...@gmail.com> <wdle...@gmail.com>
> Léo Testard <leo.test...@gmail.com> <leo.test...@gmail.com>
> Lindsey Kuper <lind...@composition.al> <lind...@composition.al>
> Luca Bruno <lu...@debian.org> <lu...@debian.org>
> Luis de Bethencourt <l...@debethencourt.com> <l...@debethencourt.com>
> Luqman Aden <la...@csclub.uwaterloo.ca> <la...@csclub.uwaterloo.ca>
> lyuts <diox...@gmail.com> <diox...@gmail.com>
> Mark Rowe <mr...@bdash.net.nz> <mr...@bdash.net.nz>
> Marvin Löbel <loebel.mar...@gmail.com> <loebel.mar...@gmail.com>
> Matt Carberry <carberry.m...@gmail.com> <carberry.m...@gmail.com>
> Matthew Auld <matthew.a...@intel.com> <matthew.a...@intel.com>
> Matthew Iselin <matt...@theiselins.net> <matt...@theiselins.net>
> Micah Chalmer <mi...@micahchalmer.net> <mi...@micahchalmer.net>
> Michael 'devbug' Williams <m.t.willi...@live.com> <m.t.willi...@live.com>
> Michael Letterle <michael.lette...@gmail.com> <michael.lette...@gmail.com>
> Michael Woerister <michaelwoerister@gmail>
> niftynif <nif.w...@gmail.com> <nif.w...@gmail.com>
> Niko Matsakis <n...@alum.mit.edu> <n...@alum.mit.edu>
> Noufal Ibrahim <nou...@nibrahim.net.in> <nou...@nibrahim.net.in>
> Olivier Saut <os...@airpost.net> <os...@airpost.net>
> osa1 <omeraga...@gmail.com> <omeraga...@gmail.com>
> Palmer Cox <p...@lmercox.com> <p...@lmercox.com>
> Patrick Walton <pcwal...@mimiga.net> <pcwal...@mimiga.net>
> Peter Zotov <whitequ...@whitequark.org> <whitequ...@whitequark.org>
> Philipp Brüschweiler <ble...@gmail.com> <ble...@gmail.com>
> Raphael Speyer <rspe...@gmail.com> <rspe...@gmail.com>
> reedlepee <reedlepee...@gmail.com> <reedlepee...@gmail.com>
> Richard Diamond <wich...@vitalitystudios.com><wich...@vitalitystudios.com>
> Robert Irelan <rire...@gmail.com> <rire...@gmail.com>
> Scott Lawrence <byt...@gmail.com> <byt...@gmail.com>
> Sébastien Chauvel <eichi...@mailoo.org> <eichi...@mailoo.org>
> Sébastien Crozet <develo...@crozet.re> <develo...@crozet.re>
> Sébastien Paolacci 
> <sebastien.paola...@gmail.com><sebastien.paola...@gmail.com>
> Seo Sanghyeon <sanx...@gmail.com> <sanx...@gmail.com>
> sh8281.kim <sh8281....@samsung.com> <sh8281....@samsung.com>
> SiegeLord <slab...@aim.com> <slab...@aim.com>
> sp3d <sp3d@github>
> S Pradeep Kumar <gohan...@gmail.com> <gohan...@gmail.com>
> Steve Klabnik <st...@steveklabnik.com> <st...@steveklabnik.com>
> Steven Fackler <sfack...@gmail.com> <sfack...@gmail.com>
> Strahinja Val Markovic <v...@markovic.io> <v...@markovic.io>
> Tim Chevalier <cheval...@alum.wellesley.edu><cheval...@alum.wellesley.edu>
> Tomas Sedovic <to...@sedovic.cz> <to...@sedovic.cz>
> Vadim Chugunov <vadi...@gmail.com> <vadi...@gmail.com>
> Vijay Korapaty <r...@korapaty.com> <r...@korapaty.com>
> Volker Mische <volker.mis...@gmail.com> <volker.mis...@gmail.com>
> Young-il Choi <duddlf.c...@samsung.com> <duddlf.c...@samsung.com>
> Zach Kamsler <smoo.mas...@gmail.com> <smoo.mas...@gmail.com>
> Zack Corr <z...@z0w0.me> <z...@z0w0.me>
> Ziad Hatahet <hata...@gmail.com> <hata...@gmail.com>
>
> _______________________________________________
> Rust-dev mailing list
> Rust-dev@mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
>
> _______________________________________________
> Rust-dev mailing list
> Rust-dev@mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
>
>
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to