From d2856f8127431eb2f441f32c8aa0224794326d93 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 6 Oct 2014 12:07:28 -0700 Subject: [PATCH] Update per feedback --- AUTHORS.txt | 12 --------- RELEASES.md | 78 +++++++++++++++++++++++++++++++++++------------------ 2 files changed, 52 insertions(+), 38 deletions(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index ee0642fb240a7..eb80b1ff85d72 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -8,7 +8,6 @@ Adam Bozanich Adolfo Ochagavía Adrien Brault Adrien Tétar -Ahmed Charles Ahmed Charles Alan Andrade Alan Williams @@ -116,7 +115,6 @@ Christopher Bergqvist Christopher Kendell Chuck Ries Clark Gaebel -Clark Gaebel Clinton Ryan Cody Schroeder Cole Mickens @@ -265,8 +263,6 @@ Jag Talon Jake Kaufman Jake Kerr Jake Scott -Jakub -Jakub Wieczorek Jakub Wieczorek James Deng James Hurst @@ -338,7 +334,6 @@ Junyoung Cho JustAPerson Justin Noah Jyun-Yan You -Jyun-Yan You Kang Seonghoon Kasey Carrothers Keegan McAllister @@ -365,7 +360,6 @@ Liigo Zhuang Lindsey Kuper Luca Bruno Luis de Bethencourt -Luqman Aden Luqman Aden Magnus Auvinen Mahmut Bulut @@ -415,7 +409,6 @@ Michael Sproul Michael Sullivan Michael Williams Michael Woerister -Michael Woerister Michael Zhou Mick Koch Mickaël Delahaye @@ -443,7 +436,6 @@ Noam Yorav-Raphael Noufal Ibrahim O S K Chaitanya OGINO Masanori -Ogino Masanori Olivier Saut Olle Jonsson Or Brostovski @@ -455,7 +447,6 @@ Palmer Cox Paolo Falabella Patrick Reisert Patrick Walton -Patrick Walton Patrick Yevsukov Patrik Kårlin Paul Collins @@ -502,7 +493,6 @@ Rob Hoelz Robert Buonpastore Robert Clipsham Robert Gawdzik -Robert Gawdzik ☢ Robert Irelan Robert Knight Robert Millar @@ -543,7 +533,6 @@ Shamir Khodzha SiegeLord Simon Barber-Dueck Simon Persson -Simon Sapin Simon Sapin Squeaky Stefan Plantikow @@ -552,7 +541,6 @@ Sterling Greene Steve Klabnik Steven De Coeyer Steven Fackler -Steven Fackler Steven Sheldon Steven Stewart-Gallus Strahinja Val Markovic diff --git a/RELEASES.md b/RELEASES.md index 799475cb1a629..44530cb817aff 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,14 +1,15 @@ Version 0.12.0 (October 2014) ----------------------------- - * ~1700 changes, numerous bugfixes + * ~1900 changes, numerous bugfixes * Highlights * The introductory documentation (now called The Rust Guide) has been completely rewritten, as have a number of supplementary guides. - * Rust's package manager, Cargo, is awesome. + * Rust's package manager, Cargo, continues to improve and is, + reportedly, 'awesome'. * Many API's in `std` have been reviewed and updated for consistency with the in-development Rust coding guidelines. The standard library documentation tracks @@ -21,24 +22,47 @@ Version 0.12.0 (October 2014) * Rust now works on 64-bit Windows. * Language - * A new slicing syntax (e.g. `[0..4]`) has been introduced behind - the 'slicing_syntax' feature gate, and can be overloaded with - the `Slice` or `SliceMut` traits. * Indexing can be overloaded with the `Index` and `IndexMut` traits. * The `if let` construct takes a branch only if the `let` pattern matches, currently behind the 'if_let' feature gate. - * `let` and `match` bindings and argument names in macros are now - hygienic. + * 'where clauses', a more flexible syntax for specifying trait + bounds that is more aesthetic, have been added for traits and + free functions. Where clauses will in the future make it + possible to constrain associated types, which would be + impossible with the existing syntax. + * A new slicing syntax (e.g. `[0..4]`) has been introduced behind + the 'slicing_syntax' feature gate, and can be overloaded with + the `AsSlice` or `AsSliceMut` traits. + * The syntax for matching of sub-slices has been changed to use a + postfix `..` instead of prefix (.e.g. `[a, b, c..]`), for + consistency with other uses of `..` and to future-proof + potential additional uses of the syntax. + * The syntax for matching inclusive ranges in patterns has changed + from `0..3` to `0...4` to be consistent with the exclusive range + syntax for slicing. + * Matching of sub-slices in non-tail positions (e.g. `[a.., b, + c]`) has been put behind the 'advanced_slice_patterns' feature + gate and may be removed in the future. + * Components of tuples and tuple structs can be extracted using + the `value.0` syntax, currently behind the `tuple_indexing` + feature gate. * The `#[crate_id]` attribute is no longer supported; versioning is handled by the package manager. - * Mutation and assignment is no longer allowed in pattern guards. - * Generic structs and enums can now have trait bounds. - * `use foo = bar` is now written `use bar as foo`. + * Renaming crate imports are now written `extern crate foo as bar` + instead of `extern crate bar = foo`. + * Renaming use statements are now written `use foo as bar` instead + of `use bar = foo`. + * `let` and `match` bindings and argument names in macros are now + hygienic. * The new, more efficient, closure types ('unboxed closures') have been added under a feature gate, 'unboxed_closures'. These will soon replace the existing closure types, once higher-ranked trait lifetimes are added to the language. + * `move` has been added as a keyword, for indicating closures + that capture by value. + * Mutation and assignment is no longer allowed in pattern guards. + * Generic structs and enums can now have trait bounds. * The `Share` trait is now called `Sync` to free up the term 'shared' to refer to 'shared reference' (the default reference type. @@ -48,17 +72,15 @@ Version 0.12.0 (October 2014) * As part of dynamically-sized types, the `Sized` trait has been introduced, which qualifying types implement by default, and which type parameters expect by default. To specify that a type - parametr does not need to be sized, write ``. Most + parameter does not need to be sized, write ``. Most types are `Sized`, notable exceptions being unsized arrays (`[T]`) and trait types. - * Closures can return `!`, as in `|| -> !` or `proc() ->`. - * The syntax for matching of sub-slices has been changed to use a - postfix `..` instead of prefix (.e.g. `[a, b, c..]`), for - consistency with other uses of `..` and to future-proof - potential additional uses of the syntax. - * Matching of sub-slices in non-tail positions (e.g. `[a.., b, - c]`) has been put behind the 'advanced_slice_patterns' feature - gate and may be removed in the future. + * Closures can return `!`, as in `|| -> !` or `proc() -> !`. + * Lifetime bounds can now be applied to type parameters and object + types. + * The old, reference counted GC type, `Gc` which was once + denoted by the `@` sigil, has finally been removed. GC will be + revisited in the future. * Libraries * Library documentation has been improved for a number of modules. @@ -66,22 +88,26 @@ Version 0.12.0 (October 2014) * The url crate is deprecated in favor of http://github.com/servo/rust-url, which can be installed with Cargo. - * Most I/O stream types can be cloned and subsequently closed - from a different thread. + * Most I/O stream types can be cloned and subsequently closed from + a different thread. * A `std::time::Duration` type has been added for use in I/O methods that rely on timers, as well as in the 'time' crate's `Timespec` arithmetic. - * The green-thread scheduler, libgreen, has been removed, as - has the associated runtime I/O abstraction layer. + * The runtime I/O abstraction layer that enabled the green thread + scheduler to do non-thread-blocking I/O has been removed, along + with the libuv-based implementation employed by the green thread + scheduler. This will greatly simplify the future I/O work. + * `collections::btree` has been rewritten to have a more + idiomatic and efficient design. * Tooling * rustdoc output now indicates the stability levels of API's. * The `--crate-name` flag can specify the name of the crate being compiled, like `#[crate_name]`. - * The `-C metadata` specifies additional metada to hash into + * The `-C metadata` specifies additional metadata to hash into symbol names, and `-C extra-filename` specifies additional - information to put into the output filename, for use by - the package manager for versioning. + information to put into the output filename, for use by the + package manager for versioning. * debug info generation has continued to improve and should be more reliable under both gdb and lldb. * rustc has experimental support for compiling in parallel