auto merge of #7517 : brson/rust/0.7, r=brson
This commit is contained in:
commit
1c48aac9aa
@ -139,7 +139,7 @@ endif
|
||||
|
||||
# version-string calculation
|
||||
CFG_GIT_DIR := $(CFG_SRC_DIR).git
|
||||
CFG_RELEASE = 0.7-pre
|
||||
CFG_RELEASE = 0.7
|
||||
CFG_VERSION = $(CFG_RELEASE)
|
||||
# windows exe's need numeric versions - don't use anything but
|
||||
# numbers and dots here
|
||||
|
65
RELEASES.txt
65
RELEASES.txt
@ -1,54 +1,56 @@
|
||||
Version 0.7 (July 2013)
|
||||
-----------------------
|
||||
|
||||
* ??? changes, numerous bugfixes
|
||||
* ~2000 changes, numerous bugfixes
|
||||
|
||||
* Syntax changes
|
||||
* Language
|
||||
* `impl`s no longer accept a visibility qualifier. Put them on methods
|
||||
instead.
|
||||
* `use mod` is no longer valid.
|
||||
* `fail!` and `assert!` accept `~str`, `&'static str` or `fmt!`-style
|
||||
argument list.
|
||||
* `Encodable`, `Decodable`, `Ord`, `TotalOrd`, `TotalEq`, `DeepClone`,
|
||||
`Rand`, `Zero` and `ToStr` can all be automatically derived with
|
||||
`#[deriving(...)]`.
|
||||
* The `Durable` trait is replaced with the `'static` bounds.
|
||||
* At long last, 'argument modes' no longer exist.
|
||||
* The `bytes!` macro returns a vector of bytes for string, u8, char,
|
||||
and unsuffixed integer literals.
|
||||
* `#[static_assert]` makes compile-time assertions about static bools.
|
||||
|
||||
* Semantic changes
|
||||
* The borrow checker has been rewritten with flow-sensitivity, fixing
|
||||
many bugs and inconveniences.
|
||||
* The `self` parameter no longer implicitly means `&'self self`,
|
||||
and can be explicitly marked with a lifetime.
|
||||
* Structs with the `#[packed]` attribute have byte alignment and
|
||||
no padding between fields.
|
||||
* Overloadable compound operators (`+=`, etc.) have been temporarily
|
||||
removed due to bugs.
|
||||
* The `for` loop protocol now requires `for`-iterators to return `bool`
|
||||
so they compose better.
|
||||
* The `Durable` trait is replaced with the `'static` bounds.
|
||||
* Trait default methods work more often.
|
||||
* Structs with the `#[packed]` attribute have byte alignment and
|
||||
no padding between fields.
|
||||
* Type parameters bound by `Copy` must now be copied explicitly with
|
||||
the `copy` keyword.
|
||||
* It is now illegal to move out of a dereferenced unsafe pointer.
|
||||
* `Option<~T>` is now represented as a nullable pointer.
|
||||
* `@mut` does dynamic borrow checks correctly.
|
||||
* Macros TODO
|
||||
* The `main` function is only detected at the topmost level of the crate.
|
||||
The `#[main]` attribute is still valid anywhere.
|
||||
* Struct fields may no longer be mutable. Use inherited mutability.
|
||||
* The `#[non_owned]` attribute makes a type that would otherwise be
|
||||
`Owned`, not. TODO this may change to non_send before 0.7
|
||||
* The `#[mutable]` attribute makes a type that would otherwise be
|
||||
`Const`, note. TODO this may change to non_freeze before 0.7
|
||||
* The `#[no_send]` attribute makes a type that would otherwise be
|
||||
`Send`, not.
|
||||
* The `#[no_freeze]` attribute makes a type that would otherwise be
|
||||
`Freeze`, not.
|
||||
* Unbounded recursion will abort the process after reaching the limit
|
||||
specified by the `RUST_MAX_STACK` environment variable (default: 1GB).
|
||||
* The `vecs_implicitly_copyable` lint mode has been removed. Vectors
|
||||
are never implicitly copyable.
|
||||
* `#[static_assert]` makes compile-time assertions about static bools.
|
||||
* At long last, 'argument modes' no longer exist.
|
||||
* The rarely used `use mod` statement no longer exists.
|
||||
|
||||
* Syntax extensions
|
||||
* `fail!` and `assert!` accept `~str`, `&'static str` or `fmt!`-style
|
||||
argument list.
|
||||
* `Encodable`, `Decodable`, `Ord`, `TotalOrd`, `TotalEq`, `DeepClone`,
|
||||
`Rand`, `Zero` and `ToStr` can all be automatically derived with
|
||||
`#[deriving(...)]`.
|
||||
* The `bytes!` macro returns a vector of bytes for string, u8, char,
|
||||
and unsuffixed integer literals.
|
||||
|
||||
* Libraries
|
||||
* The `core` crate was renamed to `std`.
|
||||
* The `std` crate was renamed to `extra`.
|
||||
* More and improved documentation.
|
||||
* std: `iterator` module for external iterator objects.
|
||||
* Many old-style (internal, higher-order function) iterators replaced by
|
||||
implementations of `Iterator`.
|
||||
@ -91,8 +93,16 @@ Version 0.7 (July 2013)
|
||||
* extra: Implementation of fixed output size variations of SHA-2.
|
||||
|
||||
* Tooling
|
||||
* `unused_unsafe` lint mode for detecting unnecessary `unsafe` blocks.
|
||||
* `unused_mut` lint mode for identifying unused `mut` qualifiers.
|
||||
* `unused_variable` lint mode for unused variables (default: warn).
|
||||
* `unused_unsafe` lint mode for detecting unnecessary `unsafe` blocks
|
||||
(default: warn).
|
||||
* `unused_mut` lint mode for identifying unused `mut` qualifiers
|
||||
(default: warn).
|
||||
* `dead_assignment` lint mode for unread variables (default: warn).
|
||||
* `unnecessary_allocation` lint mode detects some heap allocations that are
|
||||
immediately borrowed so could be written without allocating (default: warn).
|
||||
* `missing_doc` lint mode (default: allow).
|
||||
* `unreachable_code` lint mode (default: warn).
|
||||
* The `rusti` command has been rewritten and a number of bugs addressed.
|
||||
* rustc outputs in color on more terminals.
|
||||
* rustc accepts a `--link-args` flag to pass arguments to the linker.
|
||||
@ -101,12 +111,7 @@ Version 0.7 (July 2013)
|
||||
dynamic borrowcheck failures for debugging.
|
||||
* rustdoc has a nicer stylesheet.
|
||||
* Various improvements to rustdoc.
|
||||
* Improvements to rustpkg (see the detailed release notes)
|
||||
|
||||
* Other
|
||||
* More and improved library documentation.
|
||||
* Various improvements on ARM and Android.
|
||||
* Various improvements to MIPS backend.
|
||||
* Improvements to rustpkg (see the detailed release notes).
|
||||
|
||||
Version 0.6 (April 2013)
|
||||
------------------------
|
||||
|
@ -15,8 +15,8 @@
|
||||
#[no_core]; // XXX: Remove after snapshot
|
||||
#[no_std];
|
||||
|
||||
extern mod core(name = "std", vers = "0.7-pre");
|
||||
extern mod extra(name = "extra", vers = "0.7-pre");
|
||||
extern mod core(name = "std", vers = "0.7");
|
||||
extern mod extra(name = "extra", vers = "0.7");
|
||||
|
||||
use core::prelude::*;
|
||||
use core::*;
|
||||
|
@ -11,7 +11,7 @@
|
||||
#[no_core];
|
||||
#[no_std];
|
||||
|
||||
extern mod core(name = "std", vers = "0.7-pre");
|
||||
extern mod core(name = "std", vers = "0.7");
|
||||
|
||||
#[cfg(rustpkg)]
|
||||
extern mod this(name = "rustpkg");
|
||||
|
@ -7,7 +7,7 @@
|
||||
<!ENTITY rustIdent "[a-zA-Z_][a-zA-Z_0-9]*">
|
||||
<!ENTITY rustIntSuf "([iu](8|16|32|64)?)?">
|
||||
]>
|
||||
<language name="Rust" version="0.7-pre" kateversion="2.4" section="Sources" extensions="*.rs;*.rc" mimetype="text/x-rust" priority="15">
|
||||
<language name="Rust" version="0.7" kateversion="2.4" section="Sources" extensions="*.rs;*.rc" mimetype="text/x-rust" priority="15">
|
||||
<highlighting>
|
||||
<list name="fn">
|
||||
<item> fn </item>
|
||||
|
@ -21,7 +21,7 @@ Rust extras are part of the standard Rust distribution.
|
||||
*/
|
||||
|
||||
#[link(name = "extra",
|
||||
vers = "0.7-pre",
|
||||
vers = "0.7",
|
||||
uuid = "122bed0b-c19b-4b82-b0b7-7ae8aead7297",
|
||||
url = "https://github.com/mozilla/rust/tree/master/src/libextra")];
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
// FIXME #2238 Make run only accept source that emits an executable
|
||||
|
||||
#[link(name = "rust",
|
||||
vers = "0.7-pre",
|
||||
vers = "0.7",
|
||||
uuid = "4a24da33-5cc8-4037-9352-2cbe9bd9d27c",
|
||||
url = "https://github.com/mozilla/rust/tree/master/src/rust")];
|
||||
|
||||
|
@ -18,7 +18,7 @@ use syntax::codemap::dummy_sp;
|
||||
use syntax::codemap;
|
||||
use syntax::fold;
|
||||
|
||||
static STD_VERSION: &'static str = "0.7-pre";
|
||||
static STD_VERSION: &'static str = "0.7";
|
||||
|
||||
pub fn maybe_inject_libstd_ref(sess: Session, crate: @ast::crate)
|
||||
-> @ast::crate {
|
||||
|
@ -271,7 +271,7 @@ mod __test {
|
||||
*/
|
||||
|
||||
fn mk_std(cx: &TestCtxt) -> @ast::view_item {
|
||||
let vers = ast::lit_str(@"0.7-pre");
|
||||
let vers = ast::lit_str(@"0.7");
|
||||
let vers = nospan(vers);
|
||||
let mi = ast::meta_name_value(@"vers", vers);
|
||||
let mi = nospan(mi);
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
#[link(name = "rustc",
|
||||
vers = "0.7-pre",
|
||||
vers = "0.7",
|
||||
uuid = "0ce89b41-2f92-459e-bbc1-8f5fe32f16cf",
|
||||
url = "https://github.com/mozilla/rust/tree/master/src/rustc")];
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
//! Rustdoc - The Rust documentation generator
|
||||
|
||||
#[link(name = "rustdoc",
|
||||
vers = "0.7-pre",
|
||||
vers = "0.7",
|
||||
uuid = "f8abd014-b281-484d-a0c3-26e3de8e2412",
|
||||
url = "https://github.com/mozilla/rust/tree/master/src/rustdoc")];
|
||||
|
||||
|
@ -44,7 +44,7 @@
|
||||
*/
|
||||
|
||||
#[link(name = "rusti",
|
||||
vers = "0.7-pre",
|
||||
vers = "0.7",
|
||||
uuid = "7fb5bf52-7d45-4fee-8325-5ad3311149fc",
|
||||
url = "https://github.com/mozilla/rust/tree/master/src/rusti")];
|
||||
|
||||
|
@ -44,7 +44,7 @@
|
||||
*/
|
||||
|
||||
#[link(name = "rusti",
|
||||
vers = "0.7-pre",
|
||||
vers = "0.7",
|
||||
uuid = "7fb5bf52-7d45-4fee-8325-5ad3311149fc",
|
||||
url = "https://github.com/mozilla/rust/tree/master/src/rusti")];
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
// rustpkg - a package manager and build system for Rust
|
||||
|
||||
#[link(name = "rustpkg",
|
||||
vers = "0.7-pre",
|
||||
vers = "0.7",
|
||||
uuid = "25de5e6e-279e-4a20-845c-4cabae92daaf",
|
||||
url = "https://github.com/mozilla/rust/tree/master/src/librustpkg")];
|
||||
|
||||
|
@ -49,7 +49,7 @@ they contained the following prologue:
|
||||
|
||||
|
||||
#[link(name = "std",
|
||||
vers = "0.7-pre",
|
||||
vers = "0.7",
|
||||
uuid = "c70c24a7-5551-4f73-8e37-380b11d80be8",
|
||||
url = "https://github.com/mozilla/rust/tree/master/src/libstd")];
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
*/
|
||||
|
||||
#[link(name = "syntax",
|
||||
vers = "0.7-pre",
|
||||
vers = "0.7",
|
||||
uuid = "9311401b-d6ea-4cd9-a1d9-61f89499c645")];
|
||||
|
||||
#[license = "MIT/ASL2"];
|
||||
|
@ -13,7 +13,7 @@
|
||||
#[no_std];
|
||||
extern mod std;
|
||||
extern mod zed(name = "std");
|
||||
extern mod bar(name = "std", vers = "0.7-pre");
|
||||
extern mod bar(name = "std", vers = "0.7");
|
||||
|
||||
|
||||
use std::str;
|
||||
|
Loading…
Reference in New Issue
Block a user