Skip to content

Commit

Permalink
Merge tag '0.12.0'
Browse files Browse the repository at this point in the history
0.12.0 release
  • Loading branch information
brson committed Oct 9, 2014
2 parents dfd5281 + ba4081a commit 158eaa6
Show file tree
Hide file tree
Showing 35 changed files with 272 additions and 38 deletions.
122 changes: 117 additions & 5 deletions AUTHORS.txt

Large diffs are not rendered by default.

122 changes: 122 additions & 0 deletions RELEASES.txt → RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,125 @@
Version 0.12.0 (October 2014)
-----------------------------

* ~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, continues to improve and is
sometimes considered to be quite 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
stabilization progress.
* Minor libraries have been moved out-of-tree to the rust-lang org
on GitHub: uuid, semver, glob, num, hexfloat, fourcc. They can
be installed with Cargo.
* Lifetime elision allows lifetime annotations to be left off of
function declarations in many common scenarios.
* Rust now works on 64-bit Windows.

* Language
* 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.
* '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 `Slice` or `SliceMut` 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.
* 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.
* Dynamically-sized types have been mostly implemented,
unifying the behavior of fat-pointer types with the rest of the
type system.
* 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
parameter does not need to be sized, write `<Sized? T>`. Most
types are `Sized`, notable exceptions being unsized arrays
(`[T]`) and trait types.
* 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<T>` 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.
* Bit-vectors, collections::bitv has been modernized.
* 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.
* 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 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 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.
* 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
using the `-C codegen-units` flag.
* rustc no longer encodes rpath information into binaries by
default.

* Misc
* Stack usage has been optimized with LLVM lifetime annotations.
* Official Rust binaries on Linux are more compatible with older
kernels and distributions, built on CentOS 5.10.

Version 0.11.0 (July 2014)
-------------------------

Expand Down
2 changes: 1 addition & 1 deletion mk/dist.mk
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ PKG_FILES := \
$(S)AUTHORS.txt \
$(S)CONTRIBUTING.md \
$(S)README.md \
$(S)RELEASES.txt \
$(S)RELEASES.md \
$(S)configure $(S)Makefile.in \
$(S)man \
$(addprefix $(S)src/, \
Expand Down
2 changes: 1 addition & 1 deletion src/libarena/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]

#![feature(unsafe_destructor)]
#![allow(missing_doc)]
Expand Down
2 changes: 1 addition & 1 deletion src/libcollections/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]

#![allow(unknown_features)]
Expand Down
2 changes: 1 addition & 1 deletion src/libcore/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
#![crate_type = "rlib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]

#![no_std]
Expand Down
2 changes: 1 addition & 1 deletion src/libdebug/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
#![crate_type = "dylib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]
#![experimental]
#![feature(macro_rules)]
#![allow(experimental)]
Expand Down
2 changes: 1 addition & 1 deletion src/libflate/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Simple [DEFLATE][def]-based compression. This is a wrapper around the
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]
#![feature(phase)]

#[cfg(test)] #[phase(plugin, link)] extern crate log;
Expand Down
2 changes: 1 addition & 1 deletion src/libfourcc/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ fn main() {
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]

#![feature(plugin_registrar)]

Expand Down
2 changes: 1 addition & 1 deletion src/libgetopts/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]
#![feature(globs, phase)]
#![feature(import_shadowing)]
Expand Down
2 changes: 1 addition & 1 deletion src/libglob/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]
#![allow(deprecated)]

Expand Down
2 changes: 1 addition & 1 deletion src/libgraphviz/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ pub fn main() {
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]

use std::io;
use std::str;
Expand Down
2 changes: 1 addition & 1 deletion src/libgreen/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@
#![crate_type = "dylib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]

// NB this does *not* include globs, please keep it that way.
Expand Down
2 changes: 1 addition & 1 deletion src/libhexfloat/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ fn main() {
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]
#![feature(plugin_registrar)]

extern crate syntax;
Expand Down
2 changes: 1 addition & 1 deletion src/liblibc/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#![crate_type = "rlib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]

/*!
Expand Down
2 changes: 1 addition & 1 deletion src/liblog/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@
#![crate_type = "dylib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]
#![feature(macro_rules)]
#![deny(missing_doc)]
Expand Down
2 changes: 1 addition & 1 deletion src/libnative/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
#![crate_type = "dylib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]

#![deny(unused_result, unused_must_use)]
#![allow(non_camel_case_types, deprecated)]
Expand Down
2 changes: 1 addition & 1 deletion src/libnum/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]
#![allow(deprecated)] // from_str_radix

Expand Down
2 changes: 1 addition & 1 deletion src/librand/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
#![crate_type = "rlib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]

#![feature(macro_rules, phase, globs)]
Expand Down
2 changes: 1 addition & 1 deletion src/librbml/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]
#![allow(unknown_features)]
#![feature(macro_rules, phase, slicing_syntax)]
Expand Down
2 changes: 1 addition & 1 deletion src/libregex/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]

#![allow(unknown_features)]
Expand Down
2 changes: 1 addition & 1 deletion src/libregex_macros/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]

#![feature(plugin_registrar, quote)]

Expand Down
2 changes: 1 addition & 1 deletion src/librlibc/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#![crate_type = "rlib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]

#![feature(import_shadowing, intrinsics, phase)]
#![no_std]
Expand Down
2 changes: 1 addition & 1 deletion src/librustc/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ This API is completely unstable and subject to change.
#![crate_type = "rlib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]

#![allow(deprecated)]
#![allow(unknown_features)]
Expand Down
2 changes: 1 addition & 1 deletion src/librustrt/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#![crate_type = "dylib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]

#![allow(unknown_features)]
#![feature(macro_rules, phase, globs, thread_local, asm)]
Expand Down
2 changes: 1 addition & 1 deletion src/libsemver/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]
#![feature(default_type_params)]

use std::char;
Expand Down
2 changes: 1 addition & 1 deletion src/libserialize/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Core encoding and decoding interfaces.
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]
#![allow(unknown_features)]
#![feature(macro_rules, default_type_params, phase, slicing_syntax)]
Expand Down
2 changes: 1 addition & 1 deletion src/libstd/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
#![crate_type = "dylib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]

#![allow(unknown_features)]
Expand Down
2 changes: 1 addition & 1 deletion src/libsync/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#![license = "MIT/ASL2"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]

#![feature(phase, globs, macro_rules, unsafe_destructor)]
Expand Down
2 changes: 1 addition & 1 deletion src/libsyntax/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
#![crate_type = "rlib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]

#![allow(unknown_features)]
#![feature(macro_rules, globs, default_type_params, phase, slicing_syntax)]
Expand Down
2 changes: 1 addition & 1 deletion src/libterm/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
#![crate_type = "dylib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/",
html_root_url = "http://doc.rust-lang.org/0.12.0/",
html_playground_url = "http://play.rust-lang.org/")]

#![allow(unknown_features)]
Expand Down
2 changes: 1 addition & 1 deletion src/libtest/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
#![crate_type = "dylib"]
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://doc.rust-lang.org/master/")]
html_root_url = "http://doc.rust-lang.org/0.12.0/")]

#![feature(asm, macro_rules, phase)]

Expand Down
Loading

0 comments on commit 158eaa6

Please sign in to comment.