@@ -6,16 +6,15 @@ Version 0.6 (March 2013)
6
6
* TODO:
7
7
* Ord/Cmp
8
8
* Lifetime changes
9
+ * Implicit self
9
10
* Remove `static` keyword
10
11
* Static method syntax
11
12
* `as Trait`
12
13
* `copy` removed, replaced with `Clone`?
13
- * More details for "Name resolution continues to be tweaked"?
14
+ * `std::map` removed, replaced with `core::hashmap`
14
15
15
16
* Syntax changes
16
17
* 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.
19
18
* Replaced the `Durable` trait with the `'static` lifetime
20
19
* The old closure type syntax with the trailing sigil has been
21
20
removed in favor of the more consistent leading sigil
@@ -24,7 +23,7 @@ Version 0.6 (March 2013)
24
23
* Traits are implemented with `impl Trait for Type`
25
24
instead of `impl Type: Trait`
26
25
* The `export` keyword has finally been removed
27
- * The `move` keyword has been removed (see "Semantic changes" )
26
+ * The `move` keyword has been removed (linear types move by default )
28
27
* The interior mutability qualifier on vectors, `[mut T]`, has been
29
28
removed. Use `&mut [T]`, etc.
30
29
* `mut` is no longer valid in `~mut T`. Use inherited mutability
@@ -38,7 +37,6 @@ Version 0.6 (March 2013)
38
37
function modules. Use extern blocks: `extern { ... }`
39
38
* Newtype enums removed. Used tuple-structs.
40
39
* Trait implementations no longer support visibility modifiers
41
- * Pattern matching over vectors improved and expanded
42
40
43
41
* Semantic changes
44
42
* Types with owned pointers or custom destructors move by default,
@@ -51,9 +49,12 @@ Version 0.6 (March 2013)
51
49
* The default type of an inferred closure is &fn instead of @fn
52
50
* Name resolution continues to be tweaked
53
51
* 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
57
58
* Typechecking of closure types has been overhauled to
58
59
improve inference and eliminate unsoundness
59
60
@@ -67,7 +68,6 @@ Version 0.6 (March 2013)
67
68
* Containers reorganized around traits in `core::container`
68
69
* `core::dvec` removed, `~[T]` is a drop-in replacement
69
70
* `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 benchmarks with the `#[bench]` attribute
79
+ * `rustc --test` now supports a 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 memory usage improvements
86
+ * Various and 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