about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-03-12 00:06:45 -0700
committerbors <bors@rust-lang.org>2013-03-12 00:06:45 -0700
commit4e350c7ce7574259dd0aad9f981e615b2b917d20 (patch)
tree1c1628f842a16d00e3a56cd0cdffb7d9218b7f55
parent2fef18abf2b6a9b3c336b1da5b8a08a22438ad4c (diff)
parent5d3d0890a7f380a453a6303bb96ba7bef28f6237 (diff)
downloadrust-4e350c7ce7574259dd0aad9f981e615b2b917d20.tar.gz
rust-4e350c7ce7574259dd0aad9f981e615b2b917d20.zip
auto merge of #5324 : brson/rust/relnotes, r=graydon
r?
-rw-r--r--RELEASES.txt81
1 files changed, 79 insertions, 2 deletions
diff --git a/RELEASES.txt b/RELEASES.txt
index 64120f66351..4aeea4fe773 100644
--- a/RELEASES.txt
+++ b/RELEASES.txt
@@ -1,8 +1,85 @@
-Version 0.6 (?)
+Version 0.6 (March 2013)
 ---------------------------
 
+   * ~??? changes, numerous bugfixes
+
+   * TODO:
+      * Ord/Cmp
+      * Lifetime changes
+      * Implicit self
+      * Remove `static` keyword
+      * Static method syntax
+      * `as Trait`
+      * `copy` removed?
+
+   * Syntax changes
+      * The self type parameter in traits is now spelled `Self`
+      * Replaced the `Durable` trait with the `'static` lifetime
+      * The old closure type syntax with the trailing sigil has been
+        removed in favor of the more consistent leading sigil
+      * `super` is a keyword, and may be prefixed to paths
+      * Trait bounds are separated with `+` instead of whitespace
+      * Traits are implemented with `impl Trait for Type`
+        instead of `impl Type: Trait`
+      * The `export` keyword has finally been removed
+      * The `move` keyword has been removed (linear types move by default)
+      * The interior mutability qualifier on vectors, `[mut T]`, has been
+        removed. Use `&mut [T]`, etc.
+      * `mut` is no longer valid in `~mut T`. Use inherited mutability
+      * `fail` is no longer a keyword. Use `fail!()`
+      * `assert` is no longer a keyword. Use `assert!()`
+      * `log` is no longer a keyword. use `debug!`, etc.
+      * 1-tuples may be represented as `(T,)`
+      * Struct fields may no longer be `mut`. Use inherited mutability,
+        `@mut T`, `core::mut` or `core::cell`
+      * `extern mod { ... }` is no longer valid syntax for foreign
+        function modules. Use extern blocks: `extern { ... }`
+      * Newtype enums removed. Used tuple-structs.
+      * Trait implementations no longer support visibility modifiers
+
+   * Semantic changes
+      * Linear types move by default, eliminating the `move` keyword
+      * All foreign functions are considered unsafe
+      * &mut is now unaliasable
+      * Writes to borrowed @mut pointers are prevented dynamically
+      * () has size 0
+      * The name of the main function can be customized using #[main]
+      * The default type of an inferred closure is &fn instead of @fn
+      * Name resolution continues to be tweaked
+      * Method visibility is inherited from the implementation declaration
+
+   * Other language changes
+      * Structural records have been removed
+      * Many more types can be used in constants, including enums
+        `static lifetime pointers and vectors
+      * Pattern matching over vectors improved and expanded
+      * Typechecking of closure types has been overhauled to
+        improve inference and eliminate unsoundness
+
    * Libraries
-     * `core::send_map` renamed to `core::hashmap`
+      * Lots of effort to organize the container API's around `core::container`
+      * `core::send_map` renamed to `core::hashmap`
+      * Added big integers to `std::bigint`
+      * Removed `core::oldcomm` module
+      * Added pipe-based `core::comm` module
+      * Reimplemented `std::treemap`
+      * Numeric traits have been reorganized under `core::num`
+      * `core::dvec` removed. Use `@mut ~[T]` or other language types
+      * `vec::slice` finally returns a slice
+      * `debug!` and friends don't require a format string, e.g. `debug!(Foo)`
+
+   * Tools
+      * Replaced the 'cargo' package manager with 'rustpkg'
+      * Added all-purpose 'rust' tool
+      * `rustc --test` now supports a benchmarks with the `#[bench]` attribute
+      * rustc now attempts to offer spelling suggestions
+
+   * Misc
+      * Improved support for ARM and Android
+      * Preliminary MIPS backend
+      * Improved foreign function ABI implementation for x86, x86_64
+      * Various and memory usage improvements
+      * Rust code may be embedded in foreign code under limited circumstances
 
 Version 0.5 (December 2012)
 ---------------------------