11Version 0.6 (March 2013)
22---------------------------
33
4- * ~2000 changes, numerous bugfixes
5-
6- * TODO:
7- * Ord/Cmp
8- * Lifetime changes
9- * Remove `static` keyword
10- * Static method syntax
11- * `as Trait`
12- * `copy` removed, replaced with `Clone`?
13- * More details for "Name resolution continues to be tweaked"?
4+ * ~2100 changes, numerous bugfixes
145
156 * Syntax changes
167 * The self type parameter in traits is now spelled `Self`
178 * The `self` parameter in trait and impl methods must now be explicitly
189 named (for example: `fn f(&self) { }`). Implicit self is deprecated.
10+ * Static methods no longer require the `static` keyword and instead
11+ are distinguished by the lack of a `self` parameter
1912 * Replaced the `Durable` trait with the `'static` lifetime
2013 * The old closure type syntax with the trailing sigil has been
2114 removed in favor of the more consistent leading sigil
2215 * `super` is a keyword, and may be prefixed to paths
2316 * Trait bounds are separated with `+` instead of whitespace
2417 * Traits are implemented with `impl Trait for Type`
2518 instead of `impl Type: Trait`
19+ * Lifetime syntax is now `&'l foo` instead of `&l/foo`
2620 * The `export` keyword has finally been removed
2721 * The `move` keyword has been removed (see "Semantic changes")
2822 * The interior mutability qualifier on vectors, `[mut T]`, has been
@@ -41,9 +35,11 @@ Version 0.6 (March 2013)
4135 * Pattern matching over vectors improved and expanded
4236 * `const` renamed to `static` to correspond to lifetime name,
4337 and make room for future `static mut` unsafe mutable globals.
44- * Replaced `#[deriving_eq]` with `#[deriving(Eq)]`
38+ * Replaced `#[deriving_eq]` with `#[deriving(Eq)]`, etc.
4539 * `Clone` implementations can be automatically generated with
4640 `#[deriving(Clone)]`
41+ * Casts to traits must use a pointer sigil, e.g. `@foo as @Bar`
42+ instead of `foo as Bar`.
4743
4844 * Semantic changes
4945 * Types with owned pointers or custom destructors move by default,
@@ -54,7 +50,11 @@ Version 0.6 (March 2013)
5450 * () has size 0
5551 * The name of the main function can be customized using #[main]
5652 * The default type of an inferred closure is &fn instead of @fn
57- * Name resolution continues to be tweaked
53+ * `use` statements may no longer be "chained" - they cannot import
54+ identifiers imported by previous `use` statements
55+ * `use` statements are crate relative, importing from the "top"
56+ of the crate by default. Paths may be prefixed with `super::`
57+ or `self::` to change the search behavior.
5858 * Method visibility is inherited from the implementation declaration
5959 * Structural records have been removed
6060 * Many more types can be used in static items, including enums
@@ -78,14 +78,15 @@ Version 0.6 (March 2013)
7878 * `std::deque` and `std::smallintmap` reimplemented as owned containers
7979 * `core::trie` added as a fast ordered map for integer keys
8080 * Set types added to `core::hashmap`, `core::trie` and `std::treemap`
81+ * `Ord` split into `Ord` and `TotalOrd`. `Ord` is still used to
82+ overload the comparison operators, whereas `TotalOrd` is used
83+ by certain container types
8184
82- * Tools
85+ * Other
8386 * Replaced the 'cargo' package manager with 'rustpkg'
8487 * Added all-purpose 'rust' tool
8588 * `rustc --test` now supports benchmarks with the `#[bench]` attribute
86- * rustc now attempts to offer spelling suggestions
87-
88- * Misc
89+ * rustc now *attempts* to offer spelling suggestions
8990 * Improved support for ARM and Android
9091 * Preliminary MIPS backend
9192 * Improved foreign function ABI implementation for x86, x86_64
0 commit comments