@@ -6,15 +6,16 @@ Version 0.6 (March 2013)
6
6
* TODO:
7
7
* Ord/Cmp
8
8
* Lifetime changes
9
- * Implicit self
10
9
* Remove `static` keyword
11
10
* Static method syntax
12
11
* `as Trait`
13
12
* `copy` removed, replaced with `Clone`?
14
- * `std::map` removed, replaced with `core::hashmap`
13
+ * More details for "Name resolution continues to be tweaked"?
15
14
16
15
* Syntax changes
17
16
* The self type parameter in traits is now spelled `Self`
17
+ * The `self` parameter in trait and impl methods must now be explicitly
18
+ named (for example: `fn f(&self) { }`). Implicit self is deprecated.
18
19
* Replaced the `Durable` trait with the `'static` lifetime
19
20
* The old closure type syntax with the trailing sigil has been
20
21
removed in favor of the more consistent leading sigil
@@ -23,7 +24,7 @@ Version 0.6 (March 2013)
23
24
* Traits are implemented with `impl Trait for Type`
24
25
instead of `impl Type: Trait`
25
26
* The `export` keyword has finally been removed
26
- * The `move` keyword has been removed (linear types move by default )
27
+ * The `move` keyword has been removed (see "Semantic changes" )
27
28
* The interior mutability qualifier on vectors, `[mut T]`, has been
28
29
removed. Use `&mut [T]`, etc.
29
30
* `mut` is no longer valid in `~mut T`. Use inherited mutability
@@ -37,6 +38,7 @@ Version 0.6 (March 2013)
37
38
function modules. Use extern blocks: `extern { ... }`
38
39
* Newtype enums removed. Used tuple-structs.
39
40
* Trait implementations no longer support visibility modifiers
41
+ * Pattern matching over vectors improved and expanded
40
42
41
43
* Semantic changes
42
44
* Types with owned pointers or custom destructors move by default,
@@ -49,12 +51,9 @@ Version 0.6 (March 2013)
49
51
* The default type of an inferred closure is &fn instead of @fn
50
52
* Name resolution continues to be tweaked
51
53
* Method visibility is inherited from the implementation declaration
52
-
53
- * Other language changes
54
54
* Structural records have been removed
55
- * Many more types can be used in constants, including enums
55
+ * Many more types can be used in constants, including enums,
56
56
`static lifetime pointers and vectors
57
- * Pattern matching over vectors improved and expanded
58
57
* Typechecking of closure types has been overhauled to
59
58
improve inference and eliminate unsoundness
60
59
@@ -68,6 +67,7 @@ Version 0.6 (March 2013)
68
67
* Containers reorganized around traits in `core::container`
69
68
* `core::dvec` removed, `~[T]` is a drop-in replacement
70
69
* `core::send_map` renamed to `core::hashmap`
70
+ * `std::map` removed; replaced with `core::hashmap`
71
71
* `std::treemap` reimplemented as an owned balanced tree
72
72
* `std::deque` and `std::smallintmap` reimplemented as owned containers
73
73
* `core::trie` added as a fast ordered map for integer keys
@@ -76,14 +76,14 @@ Version 0.6 (March 2013)
76
76
* Tools
77
77
* Replaced the 'cargo' package manager with 'rustpkg'
78
78
* Added all-purpose 'rust' tool
79
- * `rustc --test` now supports a benchmarks with the `#[bench]` attribute
79
+ * `rustc --test` now supports benchmarks with the `#[bench]` attribute
80
80
* rustc now attempts to offer spelling suggestions
81
81
82
82
* Misc
83
83
* Improved support for ARM and Android
84
84
* Preliminary MIPS backend
85
85
* Improved foreign function ABI implementation for x86, x86_64
86
- * Various and memory usage improvements
86
+ * Various memory usage improvements
87
87
* Rust code may be embedded in foreign code under limited circumstances
88
88
89
89
Version 0.5 (December 2012)
0 commit comments