From 93190b364b2537b5ab7922cad79df6323dbab8a9 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 5 Jan 2015 23:44:54 -0800 Subject: [PATCH 1/9] Bump some version numbers --- src/doc/guide.md | 2 +- src/etc/kate/rust.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/doc/guide.md b/src/doc/guide.md index 66551ec499a8..fce0e6ed578d 100644 --- a/src/doc/guide.md +++ b/src/doc/guide.md @@ -90,7 +90,7 @@ $ rustc --version You should see some output that looks something like this: ```bash -rustc 0.12.0-nightly (b7aa03a3c 2014-09-28 11:38:01 +0000) +rustc 1.0.0-nightly (f11f3e7ba 2015-01-04 20:02:14 +0000) ``` If you did, Rust has been installed successfully! Congrats! diff --git a/src/etc/kate/rust.xml b/src/etc/kate/rust.xml index 1fb01767a130..41dc2d1fbda0 100644 --- a/src/etc/kate/rust.xml +++ b/src/etc/kate/rust.xml @@ -7,7 +7,7 @@ ]> - + fn From db8d960c38fd761760a474038d219e643d002cf8 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 5 Jan 2015 23:41:12 -0800 Subject: [PATCH 2/9] 1.0.0-alpha release notes --- RELEASES.md | 163 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) diff --git a/RELEASES.md b/RELEASES.md index 8d1c6e0e987c..d2209608fd59 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,3 +1,166 @@ +Version 1.0.0-alpha (January 2015) +---------------------------------- + + * ~2300 changes, numerous bugfixes + + * Highlights + + * The language itself is considered feature complete for 1.0, + though there is a significant amount of cleanup and bugfixes + remaining. + * Nearly 50% of the public API surface of the standard library has + been declared 'stable'. Those interfaces will not change. + * Most crates that are not `std` have been moved out of the Rust + distribution into the Cargo ecosystem so they can evolve + separately and don't need to be stabilized as quickly, including + 'time', 'getopts', 'num', 'regex', and 'term'. + * Documentation continues to be expanded with more guides, more + API coverage and more examples. + * All official Rust binary installers now come with [Cargo], the + Rust package manager. + +* Language + + * Closures have been [completely redesigned][unboxed] to be + implemented in terms of traits, can now be used as generic type + bounds and thus monomorphized and inlined, or via an opaque + pointer (boxed) as in the old system. The new system is often + referred to as 'unboxed' closures. + * Enum variants are [namespaced by their type names][enum]. + * [`where` clauses][where] provide a more versatile and attractive + syntax for specifying generic bounds, though the previous syntax + remains valid. + * Rust again picks a [fallback] (either i32 or f64) for uninferred + numeric types. + * Rust [no longer has a runtime][rt] of any description, and only + supports OS threads, not green threads. + * At long last, Rust has been overhauled for 'dynamically-sized + types' ([DST]), which integrates 'fat pointers' (object types, + arrays, and `str`) more deeply into the type system, making it + more consistent. + * Rust now has a general [range syntax][range], `i..j`, `i..`, and + `..j` that produce range types and which, when combined with the + `Index` operator and multitispatch, leads to a convenient slice + notation, `[i..j]`. + * The new range syntax revealed an ambiguity in the fixed-length + array syntax, so now fixed length arrays [are written `[T; + N]`][arrays]. + * The `Copy` trait is no longer implemented automatically. Unsafe + pointers no longer implement `Sync` and `Send` so types + containing them don't automatically either. `Sync` and `Send` + are now 'unsafe traits' so one can "forcibly" implement them via + `unsafe impl` if a type confirms to the requirements for them + even though the internals do not (e.g. structs containing unsafe + pointers like `Arc`). These changes are intended to prevent some + footguns and are collectively known as [opt-in built-in + traits][oibit] (though `Sync` and `Share` will soon become pure + library types unknown to the compiler). + * Operator traits now take their operands [by value][ops], and + comparison traits can use multidispatch to compare one type + against multiple other types, allowing e.g. `String` to be + compared with `&str`. + * `if let` and `while let` are no longer feature-gated. + * Rust has adopted a more [uniform syntax for escaping unicode + characters][unicode]. + * `macro_rules!` [has been declared stable][mac]. Though it is a + flawed system it is sufficiently popular that it must be usable + for 1.0. Effort has gone into future-proofing it in ways that + will allow other macro systems to be developed in parallel, and + won't otherwise impact the evolution of the language. + * The prelude has been [pared back significantly][prelude] such + that it is the minimum necessary to support the most pervasive + code patterns, and through [generalized where clauses][where] + many of the prelude extension traits have been consolidated. + * Rust's rudimentary reflection [has been removed][refl], as it + incurred too much code generation for little benefit. + * [Struct variants][structvars] are no longer feature-gated. + * Trait bounds can be [polymorphic over lifetimes][hrtb]. Also + known as 'higher-ranked trait bounds', this crucially allows + unboxed closures to work. + * Macros invocations surrounded by parens or square brackets and + not terminated by a semicolon are [parsed as + expressions][macros], which makes expressions like `vec![1i32, + 2, 3].len()` work as expected. + * Trait objects now implement their traits automatically. + * Automatically deriving traits is now done with `#[derive(...)]` + not `#[deriving(...)]` for [consistency with other naming + conventions][derive]. + * Importing the containing module at the same time as items it + contains is [now done with `self` instead of `mod`][self], as in + use `foo::{self, bar}` + +* Libraries + + * A [series][coll1] of [efforts][coll2] to establish + [conventions][coll3] for collections types has resulted in API + improvements throughout the standard library. + * New [APIs for error handling][err] provide ergonomic interop + between error types, and [new conventions][err-conv] describe + more clearly the recommended error handling strategies in Rust. + * The `fail!` macro has been renamed to [`panic!`][panic] so that + it is easier to discuss failure in the context of error handling + without making clarifications as to whether you are referring to + the 'fail' macro or failure more generally. + * On Linux, `OsRng` prefers the new, more reliable `getrandom' + syscall when available. + * The 'serialize' crate has been renamed 'rustc-serialize' and + moved out of the distribution to Cargo. Although it is widely + used now, it is expected to be superceded in the near future. + * The `Show` formatter, typically implemented with + `#[derive(Show)]` is [now requested with the `{:?}` + specifier][show] and is intended for use by all types, for uses + such as `println!` debugging. The new `String` formatter must be + implemented by hand, uses the `{}` specifier, and is intended + for full-fidelity conversions of things that can logically be + represented as strings. + +* Tooling + + * [Flexible target specification][flex] allows rustc's code + generation to be configured to support otherwise-unsupported + platforms. + * Rust comes with rust-gdb and rust-lldb scripts that launch their + respective debuggers with Rust-appropriate pretty-printing. + * The Windows installation of Rust is distributed with the the + MinGW components currently required to link binaries on that + platform. + +* Misc + + * Nullable enum optimizations have been extended to more types so + that e.g. `Option>` and `Option` take up no more + space than the inner types themselves. + * Work has begun on supporting AArch64. + +[Cargo]: https://crates.io +[unboxed]: https://github.com/rust-lang/rfcs/blob/master/text/0114-closures.md +[enum]: https://github.com/rust-lang/rfcs/blob/master/text/0390-enum-namespacing.md +[flex]: https://github.com/rust-lang/rfcs/blob/master/text/0131-target-specification.md +[err]: https://github.com/rust-lang/rfcs/blob/master/text/0201-error-chaining.md +[err-conv]: https://github.com/rust-lang/rfcs/blob/master/text/0236-error-conventions.md +[rt]: https://github.com/rust-lang/rfcs/blob/master/text/0230-remove-runtime.md +[mac]: https://github.com/rust-lang/rfcs/blob/master/text/0453-macro-reform.md +[DST]: http://smallcultfollowing.com/babysteps/blog/2014/01/05/dst-take-5/ +[coll1]: https://github.com/rust-lang/rfcs/blob/master/text/0235-collections-conventions.md +[coll2]: https://github.com/rust-lang/rfcs/blob/master/text/0509-collections-reform-part-2.md +[coll3]: https://github.com/rust-lang/rfcs/blob/master/text/0216-collection-views.md +[ops]: https://github.com/rust-lang/rfcs/blob/master/text/0439-cmp-ops-reform.md +[prelude]: https://github.com/rust-lang/rfcs/blob/master/text/0503-prelude-stabilization.md +[where]: https://github.com/rust-lang/rfcs/blob/master/text/0135-where.md +[refl]: https://github.com/rust-lang/rfcs/blob/master/text/0379-remove-reflection.md +[panic]: https://github.com/rust-lang/rfcs/blob/master/text/0221-panic.md +[structvars]: https://github.com/rust-lang/rfcs/blob/master/text/0418-struct-variants.md +[hrtb]: https://github.com/rust-lang/rfcs/blob/master/text/0387-higher-ranked-trait-bounds.md +[unicode]: https://github.com/rust-lang/rfcs/blob/master/text/0446-es6-unicode-escapes.md +[oibit]: https://github.com/rust-lang/rfcs/blob/master/text/0019-opt-in-builtin-traits.md +[macros]: https://github.com/rust-lang/rfcs/blob/master/text/0378-expr-macros.md +[range]: https://github.com/rust-lang/rfcs/blob/master/text/0439-cmp-ops-reform.md#indexing-and-slicing +[arrays]: https://github.com/rust-lang/rfcs/blob/master/text/0520-new-array-repeat-syntax.md +[show]: https://github.com/rust-lang/rfcs/blob/master/text/0504-show-stabilization.md +[derive]: https://github.com/rust-lang/rfcs/blob/master/text/0534-deriving2derive.md +[self]: https://github.com/rust-lang/rfcs/blob/master/text/0532-self-in-use.md +[fallback]: https://github.com/rust-lang/rfcs/blob/master/text/0212-restore-int-fallback.md + Version 0.12.0 (October 2014) ----------------------------- From 7a346a356a27e2da887f1ce5aff39b0ebb27cf88 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 6 Jan 2015 04:19:01 -0800 Subject: [PATCH 3/9] Address feedback --- RELEASES.md | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index d2209608fd59..6fc3566a7caf 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -26,11 +26,14 @@ Version 1.0.0-alpha (January 2015) bounds and thus monomorphized and inlined, or via an opaque pointer (boxed) as in the old system. The new system is often referred to as 'unboxed' closures. + * Traits now support [associated types][assoc], allowing families + of related types to be defined together and used generically in + powerful ways. * Enum variants are [namespaced by their type names][enum]. * [`where` clauses][where] provide a more versatile and attractive syntax for specifying generic bounds, though the previous syntax remains valid. - * Rust again picks a [fallback] (either i32 or f64) for uninferred + * Rust again picks a [fallback][fb] (either i32 or f64) for uninferred numeric types. * Rust [no longer has a runtime][rt] of any description, and only supports OS threads, not green threads. @@ -40,7 +43,7 @@ Version 1.0.0-alpha (January 2015) more consistent. * Rust now has a general [range syntax][range], `i..j`, `i..`, and `..j` that produce range types and which, when combined with the - `Index` operator and multitispatch, leads to a convenient slice + `Index` operator and multidispatch, leads to a convenient slice notation, `[i..j]`. * The new range syntax revealed an ambiguity in the fixed-length array syntax, so now fixed length arrays [are written `[T; @@ -81,13 +84,15 @@ Version 1.0.0-alpha (January 2015) not terminated by a semicolon are [parsed as expressions][macros], which makes expressions like `vec![1i32, 2, 3].len()` work as expected. - * Trait objects now implement their traits automatically. + * Trait objects now implement their traits automatically, and + traits that can be coerced to objects now must be [object + safe][objsafe]. * Automatically deriving traits is now done with `#[derive(...)]` not `#[deriving(...)]` for [consistency with other naming conventions][derive]. - * Importing the containing module at the same time as items it - contains is [now done with `self` instead of `mod`][self], as in - use `foo::{self, bar}` + * Importing the containing module or enum at the same time as + items or variants they contain is [now done with `self` instead + of `mod`][self], as in use `foo::{self, bar}` * Libraries @@ -101,7 +106,7 @@ Version 1.0.0-alpha (January 2015) it is easier to discuss failure in the context of error handling without making clarifications as to whether you are referring to the 'fail' macro or failure more generally. - * On Linux, `OsRng` prefers the new, more reliable `getrandom' + * On Linux, `OsRng` prefers the new, more reliable `getrandom` syscall when available. * The 'serialize' crate has been renamed 'rustc-serialize' and moved out of the distribution to Cargo. Although it is widely @@ -159,7 +164,9 @@ Version 1.0.0-alpha (January 2015) [show]: https://github.com/rust-lang/rfcs/blob/master/text/0504-show-stabilization.md [derive]: https://github.com/rust-lang/rfcs/blob/master/text/0534-deriving2derive.md [self]: https://github.com/rust-lang/rfcs/blob/master/text/0532-self-in-use.md -[fallback]: https://github.com/rust-lang/rfcs/blob/master/text/0212-restore-int-fallback.md +[fb]: https://github.com/rust-lang/rfcs/blob/master/text/0212-restore-int-fallback.md +[objsafe]: https://github.com/rust-lang/rfcs/blob/master/text/0255-object-safety.md +[assoc]: https://github.com/rust-lang/rfcs/blob/master/text/0195-associated-items.md Version 0.12.0 (October 2014) ----------------------------- From 9d073134c9845d74bfad6aae78d79d6224610069 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 6 Jan 2015 16:37:38 -0800 Subject: [PATCH 4/9] Add new authors, more relnotes --- AUTHORS.txt | 163 +++++++++++++++++++++++++++++++++++++++++++++++----- RELEASES.md | 3 +- 2 files changed, 150 insertions(+), 16 deletions(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index 9aa09ac17635..bc8dbc878baa 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -1,17 +1,25 @@ Rust was written by these fine people: +A.J. Gardner +Aaron Friel Aaron Laursen +Aaron Liblong Aaron Raimist Aaron Todd Aaron Turon +Aaron Weiss Adam Bozanich +Adam Szkoda Adolfo Ochagavía Adrien Brault Adrien Tétar Ahmed Charles +Aidan Cully +Akos Kiss Alan Andrade Alan Williams Aleksander Balicki +Aleksandr Koshlo Alex Crichton Alex Gaynor Alex Lyon @@ -30,55 +38,62 @@ Aljaž "g5pw" Srebrnič Amy Unger Anders Kaseorg Andre Arko +Andrea Canciani Andreas Gal Andreas Martens Andreas Neuhaus Andreas Ots Andreas Tolfsen Andrei Formiga +Andrew Cann Andrew Chin Andrew Dunham Andrew Gallant Andrew Paseltiner Andrew Poelstra +Andrew Wagner Angus Lees Anthony Juckel -Anton Lofgren Anton Löfgren Arcterus -Ariel Ben-Yehuda +Ariel Ben-Yehuda Arjan Topolovec Arkaitz Jimenez Armin Ronacher Arpad Borsos +Artem +Arthur Liao Ashok Gautham Austin Bonander Austin King Austin Seipp Axel Viala Aydin Kim +Barosl Lee Ben Alpert Ben Blum +Ben Foppa Ben Gamari Ben Harris Ben Kelly Ben Noordhuis +Ben S Ben Striegel Benjamin Adamson Benjamin Herr Benjamin Jackman Benjamin Kircher Benjamin Peterson -Bheesham Persaud +Bheesham Persaud Bilal Husain Bill Fallon Bill Myers Bill Wendling Birunthan Mohanathas Björn Steinbrink -Boris Egorov +Boris Egorov Bouke van der Bijl -Brandon Sanderson +Brandon Sanderson Brandon Waskiewicz Branimir Brendan Cully @@ -88,6 +103,7 @@ Brendan Zabarauskas Brett Cannon Brian Anderson Brian Dawn +Brian J Brennan Brian J. Burg Brian Koropoff Brian Leibig @@ -99,9 +115,10 @@ Caitlin Potter Cameron Zwarich Carl-Anton Ingmarsson Carlos -Carol Nichols +Carol Nichols Carol Willing Carter Tazio Schonwald +Chase Southwood Chris Double Chris Morgan Chris Nixon @@ -116,6 +133,7 @@ Christopher Kendell Chuck Ries Clark Gaebel Clinton Ryan +Cody P Schafer Cody Schroeder Cole Mickens Colin Davidson @@ -124,6 +142,7 @@ Conrad Kleinespel Corey Farwell Corey Ford Corey Richardson +Cristi Burcă DJUrsus Damian Gryski Damien Grassart @@ -159,9 +178,11 @@ Derecho Derek Chiang Derek Guenther Derek Harland +Diego Giagio Diego Ongaro Diggory Hardy Dimitri Krassovski +Dirk Gadsden Dirk Leifeld Dirkjan Bussink Div Shekhar @@ -174,6 +195,7 @@ Douglas Young Drew Willcoxon Dylan Braithwaite Dzmitry Malyshau +Earl St Sauver Eduard Bopp Eduard Burtescu Eduardo Bautista @@ -183,15 +205,18 @@ Ehsanul Hoque Elliott Slaughter Elly Fong-Jones Emanuel Rylke +Eric Allen Eric Biggers Eric Holk Eric Holmes +Eric Kidd Eric Martin Eric Reed Erick Tryzelaar Erik Lyon Erik Price Erik Rose +Erwan Etienne Millon Eunchong Yu Evan Klitzke @@ -199,6 +224,7 @@ Evan McClanahan Evgeny Sologubov Fabian Deutsch Fabrice Desré +FakeKane Falco Hirschenberger Fedor Indutny Felix Crux @@ -209,6 +235,7 @@ Flavio Percoco Florian Gilcher Florian Hahn Florian Hartwig +Florian Wilkens Florian Zeitz Francisco Souza Franklin Chen @@ -221,10 +248,12 @@ Geoff Hill Geoffroy Couprie George Papanikolaou Georges Dubus +Gil Cottle Gioele Barabucci +Gleb Kozyrev Glenn Willen Gonçalo Cabrita <_@gmcabrita.com> -Graham Fawcett +Graham Fawcett Grahame Bowland Graydon Hoare Grigoriy @@ -242,6 +271,7 @@ Hong Chulju Honza Strnad Hugo Jobling Huon Wilson +Ian Connolly Ian D. Bollinger Ian Daniher Igor Bukanov @@ -251,31 +281,39 @@ Isaac Aggrey Isaac Dupree Ivan Enderlin Ivan Petkov +Ivan Ukhov Ivano Coppola J. J. Weber J.C. Moyer +JONNALAGADDA Srinivas Jack Heizer Jack Moffitt +Jacob Edelman Jacob Harris Cryer Kragh Jacob Hegna Jacob Parker Jaemin Moon Jag Talon +Jake Goulding Jake Kaufman Jake Kerr Jake Scott +Jakub Bukaj Jakub Wieczorek James Deng James Hurst James Lal James Laverack -James Miller +James Miller James Rowe James Sanders James Tranovich Jan Kobler Jan Niklas Hasse Jannis Harder +Jared Roesch +Jarod Liu +Jashank Jeremy Jason Fager Jason Orendorff Jason Thompson @@ -287,7 +325,9 @@ Jed Estep Jeff Balogh Jeff Muizelaar Jeff Olson +Jeff Parsons Jeffrey Yasskin +Jelte Fennema Jens Nockert Jeong YunWon Jeremy Letang @@ -296,6 +336,7 @@ Jesse Luehrs Jesse Ray Jesse Ruderman Jihyun Yu +Jim Apple Jim Blandy Jim Radford Jimmie Elvenmark @@ -303,16 +344,20 @@ Jimmy Lu Jimmy Zelinskie Joe Pletcher Joe Schafer +Johannes Hoff Johannes Löthberg Johannes Muenzel +John Albietz John Barker John Clements John Fresco John Gallagher +John Kleint John Kåre Alsaker John Louis Walker John Schmidt John Simon +Jon Haddad Jon Morton Jonas Hietala Jonathan Bailey @@ -320,12 +365,16 @@ Jonathan Boyett Jonathan Reem Jonathan S Jonathan Sternberg +Joonas Javanainen Jordi Boggiano -Jorge Aparicio +Jorge Aparicio Joris Rehm Joseph Crail Joseph Martin +Joseph Rushton Wakeling +Josh Haberman Josh Matthews +Josh Stone Joshua Clark Joshua Wise Joshua Yanovski @@ -336,9 +385,11 @@ JustAPerson Justin Noah Jyun-Yan You Kang Seonghoon +Kang Seonghoon Kasey Carrothers Keegan McAllister Kelly Wilson +Ken Tossell Keshav Kini Kevin Atkinson Kevin Ballard @@ -347,9 +398,11 @@ Kevin Cantu Kevin Mehall Kevin Murphy Kevin Walter +Kevin Yap Kiet Tran Kyeongwoon Lee Lars Bergstrom +Laurence Tratt Laurent Bonnans Lawrence Velázquez Leah Hanson @@ -359,8 +412,10 @@ Lennart Kudling Léo Testard Liigo Zhuang Lindsey Kuper +Lionel Flandrin Luca Bruno Luis de Bethencourt +Luke Metz Luqman Aden Magnus Auvinen Mahmut Bulut @@ -373,17 +428,23 @@ Mark Lacey <641@rudkx.com> Mark Rowe Mark Sinclair Mark Vian +Markus Siemens Markus Unterwaditzer Marti Raudsepp Martin DeMello Martin Olsson +Martin Pool Marvin Löbel Matej Lach Mateusz Czapliński +Mathieu Poumeyrol Mathijs van de Nes Matt Brubeck Matt Carberry Matt Coffin +Matt McPherrin +Matt Murphy +Matt Windsor Matthew Auld Matthew Iselin Matthew McPherrin @@ -393,6 +454,9 @@ Matthijs Hofstra Matthijs van der Vleuten Max Penet Maxim Kolganov +Maxime Quandalle +Maximilian Haack +Maya Nitu Meyer S. Jacobs Micah Chalmer Michael Arntzenius @@ -400,6 +464,7 @@ Michael Bebenita Michael Dagitses Michael Darakananda Michael Fairley +Michael Gehring Michael Kainer Michael Letterle Michael Matuzak @@ -415,19 +480,28 @@ Mick Koch Mickaël Delahaye Mihnea Dobrescu-Balaur Mike Boutin +Mike Dilger +Mike Pedersen Mike Robinson Mikko Perttunen Ms2ger Mukilan Thiagarajan +Mukilan Thiyagarajan +Murarth NODA, Kai +Nafis Nathan Froyd Nathan Typanski +Nathan Zadoks Nathaniel Herman +Neil Pankey NiccosSystem +Nicholas Bishop Nick Cameron Nick Desaulniers Nick Howell Nicolas Silva +Niels Egberts Niels langager Ellegaard Nif Ward Nikita Pekin @@ -437,6 +511,7 @@ Noam Yorav-Raphael Noufal Ibrahim O S K Chaitanya OGINO Masanori +Oliver Schneider Olivier Saut Olle Jonsson Or Brostovski @@ -446,28 +521,33 @@ P1start Pablo Brasero Palmer Cox Paolo Falabella +Pascal Hertleif Patrick Reisert Patrick Walton Patrick Yevsukov Patrik Kårlin -Paul Collins +Paul Collier Paul Stansifer Paul Woolcock Pavel Panchekha Pawel Olzacki +Pedro Larroy Peer Aramillo Irizar Peter Atashian +Peter Elmers Peter Hull Peter Marheine Peter Williams Peter Zotov Petter Remen -Phil Dawes +Phil Dawes Phil Ruffwind +Philip Munksgaard Philipp Brüschweiler Philipp Gesang Piotr Czarnecki Piotr Jawniak +Piotr Szotkowski Piotr Zolnierek Pradeep Kumar Prudhvi Krishna Surapaneni @@ -480,6 +560,7 @@ Ramkumar Ramachandra Randati Raphael Catolino Raphael Speyer +Ray Clanan Reilly Watson Renato Riccieri Santos Zannon Renato Zannon @@ -489,6 +570,7 @@ Rich Lane Richard Diamond Richo Healey Rick Waldron +Ricky Taylor Rob Arnold Rob Hoelz Robert Buonpastore @@ -497,9 +579,14 @@ Robert Gawdzik Robert Irelan Robert Knight Robert Millar +Robin Gloster +Robin Stocker +Rohit Joshi Roland Tanglao -Rolf Timmermans +Rolf Timmermans +Rolf van de Krol Ron Dahlgren +Roy Crihfield Roy Frostig Russell Ruud van Asseldonk @@ -520,10 +607,13 @@ Saurabh Anand Scott Jenkins Scott Lawrence Sean Chalmers +Sean Collins Sean Gillespie +Sean Jensen-Grey Sean McArthur Sean Moon Sean Stangl +Sean T Allen Sebastian N. Fernandez Sebastian Zaha Sebastien Martini @@ -531,12 +621,17 @@ Seo Sanghyeon Seonghyun Kim Sergio Benitez Seth Pink +Seth Pollack Shamir Khodzha SiegeLord Simon Barber-Dueck Simon Persson -Simon Sapin +Simon Sapin +Simon Wollwage +Simonas Kazlauskas +Son Squeaky +Stefan Bucur Stefan Plantikow Stepan Koltsov Sterling Greene @@ -546,12 +641,15 @@ Steven Fackler Steven Sheldon Steven Stewart-Gallus Strahinja Val Markovic -Stuart Pernsteiner +Stuart Pernsteiner +Subhash Bhushan Sylvestre Ledru Sébastien Chauvel Sébastien Crozet Sébastien Paolacci +Tamir Duberstein Taras Shpot +Taylor Hutchison Ted Horst Thad Guidry Thomas Backman @@ -562,7 +660,9 @@ Tim Chevalier Tim Joseph Dumol Tim Kuehn Tim Taubert +Timon Rapp Timothée Ravier +Titouan Vervack Tobba Tobias Bucher Tohava @@ -581,27 +681,35 @@ TyOverby Tycho Sci Tyler Bindon U-NOV2010\eugals +Ulysse Carion Utkarsh Kukreti Uwe Dauernheim Vadim Chugunov +Vadim Petrochenkov Valentin Tsatskin Valerii Hiora Victor Berger +Victor van den Elzen Vijay Korapaty Viktor Dahl Vincent Belliard Vinzent Steinberg Virgile Andreani +Vitali Haravy Vivek Galatage +Vladimir Matveev Vladimir Pouzanov +Vladimir Smola Volker Mische Wade Mealing WebeWizard Wendell Smith William Ting Yasuhiro Fujii +YawarRaza7349 Yazhong Liu Yehuda Katz +York Xiang Young-il Choi Youngmin Yoo Youngsoo Son @@ -611,22 +719,29 @@ Zach Kamsler Zach Pomerantz Zack Corr Zack Slayton -Zbigniew Siciarz +Zbigniew Siciarz Ziad Hatahet Zooko Wilcox-O'Hearn aochagavia +areski +arturo auREAX b1nd bachm blake2-ppc +bluss +bombless bors chitra chromatic comex +crhino +dan@daramos.com darkf dgoon donkopotamus eliovir +elszben flo-l fort free-Runner @@ -638,10 +753,17 @@ hansjorg iancormac84 inrustwetrust jamesluke +jbranchaud +jfager jmgrosen +jmu303 joaoxsouls +jrincayc +juxiliary +jxv klutzy korenchkin +kulakowski kvark kwantam lpy @@ -650,6 +772,7 @@ lyuts m-r-r maikklein masklinn +mchaput mdinger mitchmindtree moonglum @@ -659,15 +782,25 @@ musitdev nham noam novalis +oli-obk +olivren osa1 +qwitwa reedlepee +rjz sevrak +sheroze1123 smenardpw sp3d startling +th0114nd theptrk +thiagopnts tinaun +tshakah ville-h +we +whataloadofwhat wickerwaka xales zofrex diff --git a/RELEASES.md b/RELEASES.md index 6fc3566a7caf..fc2d24131ded 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,7 +1,7 @@ Version 1.0.0-alpha (January 2015) ---------------------------------- - * ~2300 changes, numerous bugfixes + * ~2400 changes, numerous bugfixes * Highlights @@ -93,6 +93,7 @@ Version 1.0.0-alpha (January 2015) * Importing the containing module or enum at the same time as items or variants they contain is [now done with `self` instead of `mod`][self], as in use `foo::{self, bar}` + * Glob imports are no longer feature-gated. * Libraries From 0cddbd6e770e782a9c7329f3230f192617a42da4 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 6 Jan 2015 16:44:17 -0800 Subject: [PATCH 5/9] Little more relnotes --- RELEASES.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index fc2d24131ded..07e04348225d 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -67,9 +67,10 @@ Version 1.0.0-alpha (January 2015) characters][unicode]. * `macro_rules!` [has been declared stable][mac]. Though it is a flawed system it is sufficiently popular that it must be usable - for 1.0. Effort has gone into future-proofing it in ways that - will allow other macro systems to be developed in parallel, and - won't otherwise impact the evolution of the language. + for 1.0. Effort has gone into [future-proofing][mac-future] it + in ways that will allow other macro systems to be developed in + parallel, and won't otherwise impact the evolution of the + language. * The prelude has been [pared back significantly][prelude] such that it is the minimum necessary to support the most pervasive code patterns, and through [generalized where clauses][where] @@ -94,6 +95,9 @@ Version 1.0.0-alpha (January 2015) items or variants they contain is [now done with `self` instead of `mod`][self], as in use `foo::{self, bar}` * Glob imports are no longer feature-gated. + * The `box` operator and `box` patterns have been feature-gated + pending a redesign. For now unique boxes should be allocated + like other containers, with `Box::new`. * Libraries @@ -146,6 +150,7 @@ Version 1.0.0-alpha (January 2015) [err-conv]: https://github.com/rust-lang/rfcs/blob/master/text/0236-error-conventions.md [rt]: https://github.com/rust-lang/rfcs/blob/master/text/0230-remove-runtime.md [mac]: https://github.com/rust-lang/rfcs/blob/master/text/0453-macro-reform.md +[mac-future]: https://github.com/rust-lang/rfcs/pull/550 [DST]: http://smallcultfollowing.com/babysteps/blog/2014/01/05/dst-take-5/ [coll1]: https://github.com/rust-lang/rfcs/blob/master/text/0235-collections-conventions.md [coll2]: https://github.com/rust-lang/rfcs/blob/master/text/0509-collections-reform-part-2.md From 01fabcbe47ba7d27ae8c5278807b2278f5f0676a Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 6 Jan 2015 16:50:54 -0800 Subject: [PATCH 6/9] Soften pre-1.0 API stability commitment in relnotes --- RELEASES.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index 07e04348225d..6c81a3f211ec 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -9,7 +9,8 @@ Version 1.0.0-alpha (January 2015) though there is a significant amount of cleanup and bugfixes remaining. * Nearly 50% of the public API surface of the standard library has - been declared 'stable'. Those interfaces will not change. + been declared 'stable'. Those interfaces are unlikely to change + before 1.0. * Most crates that are not `std` have been moved out of the Rust distribution into the Cargo ecosystem so they can evolve separately and don't need to be stabilized as quickly, including From 1b59406aec39a7cfc70cf9ef63d1718126631a1c Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 6 Jan 2015 18:18:56 -0800 Subject: [PATCH 7/9] Use a better reference for unboxed closures --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index 6c81a3f211ec..588313131e58 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -144,7 +144,7 @@ Version 1.0.0-alpha (January 2015) * Work has begun on supporting AArch64. [Cargo]: https://crates.io -[unboxed]: https://github.com/rust-lang/rfcs/blob/master/text/0114-closures.md +[unboxed]: http://smallcultfollowing.com/babysteps/blog/2014/11/26/purging-proc/ [enum]: https://github.com/rust-lang/rfcs/blob/master/text/0390-enum-namespacing.md [flex]: https://github.com/rust-lang/rfcs/blob/master/text/0131-target-specification.md [err]: https://github.com/rust-lang/rfcs/blob/master/text/0201-error-chaining.md From a63bb9ba7f992b88349504aed2b0cf49ac28ed8d Mon Sep 17 00:00:00 2001 From: Aaron Turon Date: Tue, 6 Jan 2015 20:53:55 -0800 Subject: [PATCH 8/9] Add int discussion, tweak wording --- RELEASES.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 6c81a3f211ec..b3bf6e604cca 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -6,11 +6,15 @@ Version 1.0.0-alpha (January 2015) * Highlights * The language itself is considered feature complete for 1.0, - though there is a significant amount of cleanup and bugfixes - remaining. + though there will be many usability improvements and bugfixes + before the final release. * Nearly 50% of the public API surface of the standard library has been declared 'stable'. Those interfaces are unlikely to change before 1.0. + * The long-running debate over integer types has been + [settled][ints]: Rust will ship with types named `isize` and + `usize`, rather than `int` and `uint`, for pointer-sized + integers. Guidelines will be rolled out during the alpha cycle. * Most crates that are not `std` have been moved out of the Rust distribution into the Cargo ecosystem so they can evolve separately and don't need to be stabilized as quickly, including @@ -174,6 +178,7 @@ Version 1.0.0-alpha (January 2015) [fb]: https://github.com/rust-lang/rfcs/blob/master/text/0212-restore-int-fallback.md [objsafe]: https://github.com/rust-lang/rfcs/blob/master/text/0255-object-safety.md [assoc]: https://github.com/rust-lang/rfcs/blob/master/text/0195-associated-items.md +[ints]: https://github.com/rust-lang/rfcs/pull/544#issuecomment-68760871 Version 0.12.0 (October 2014) ----------------------------- From 9d8de1f42c1fa8cf16bcfa61e9cea0783157d642 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 6 Jan 2015 22:16:34 -0800 Subject: [PATCH 9/9] Sync -> Send --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index ec291e4a242d..f7c385cbe7c1 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -61,7 +61,7 @@ Version 1.0.0-alpha (January 2015) even though the internals do not (e.g. structs containing unsafe pointers like `Arc`). These changes are intended to prevent some footguns and are collectively known as [opt-in built-in - traits][oibit] (though `Sync` and `Share` will soon become pure + traits][oibit] (though `Sync` and `Send` will soon become pure library types unknown to the compiler). * Operator traits now take their operands [by value][ops], and comparison traits can use multidispatch to compare one type