@@ -3,36 +3,46 @@ Version 0.5 (December 2012)
3
3
4
4
* ~700 changes, numerous bugfixes
5
5
6
- * Language
7
- * Traits may inherit from other traits
8
- * Traits may declare default methods for the impls to use
9
- * More support for explicit self arguments in methods - `self`, `&self`
10
- `@self`, and `~self` all generally work as expected
11
- * Static methods improved to work in more situations
6
+ * Syntax changes
7
+ * Removed `<-` move operator
12
8
* Completed the transition from the `#fmt` extension syntax to `fmt!`
13
9
* Removed old fixed length vector syntax - `[T]/N`
14
- * Item macros
15
- * Remove `<-` move operator
10
+ * New token-based quasi-quoter, `quote!`
11
+ * Macros may now expand to items
12
+ * `a.b()` is always parsed as a method call, never as a field projection
13
+ * `Eq` and `IterBytes` implementations can be automatically generated
14
+ with `#[deriving_eq]` and `#[deriving_iter_bytes]` respectively
15
+ * Removed the special crate language for `.rc` files
16
+
17
+ * Semantic changes
18
+ * `&` and `~` pointers may point to objects
16
19
* Tuple structs - `struct Foo(Bar, Baz)`. Will replace newtype enums.
17
- * Eq impls can be derived with #[deriving_eq]
18
- * IterBytes impls can be derived with #[deriving_iter_bytes]
20
+ * Enum variants may be structs
19
21
* Destructors can be added to all nominal types with the Drop trait
20
- * Removed the special crate language for .rc files
21
- * New token-based quasi-quoter, `quote!`
22
- * More things can be constants now, including structs and
23
- nullary enum variants
22
+ * Structs and nullary enum variants may be constants
23
+ * Values that cannot be implicitly copied are now automatically moved
24
+ without writing `move` explicitly
25
+ * `&T` may now be coerced to `*T`
26
+ * Coercions happen in `let` statements as well as function calls
27
+
28
+ * Improved support for language features
29
+ * Trait inheritance is much more complete
30
+ * Traits may declare default methods for the implementations to use
31
+ * More support for explicit self arguments in methods - `self`, `&self`
32
+ `@self`, and `~self` all generally work as expected
33
+ * Static methods work in more situations
24
34
25
35
* Libraries
26
- * New condition handling system in core::condition
27
- * Timsort added to std::sort
36
+ * New condition handling system in ` core::condition`
37
+ * Timsort added to ` std::sort`
28
38
* Serialization overhauled to be trait-based
29
- * Expanded getopts definitions
30
- * Moved futures to std
39
+ * Expanded ` getopts` definitions
40
+ * Moved futures to ` std`
31
41
* More functions are pure now
32
42
33
43
* Tools
34
- * Added a new, but still immature, REPL, rusti
35
- * rustdoc and cargo are libraries now
44
+ * Added a new ( still immature) REPL, ` rusti`
45
+ * ` rustdoc` and ` cargo` are libraries now
36
46
37
47
Version 0.4 (October 2012)
38
48
--------------------------
0 commit comments