@@ -8,13 +8,14 @@ Version 0.4 (September 2012)
8
8
* Keyword removal: 'again', 'import', 'check', 'new', 'owned', 'send',
9
9
'of', 'with', 'to', 'class'.
10
10
* Classes are replaced with simpler structs
11
- * Method self types
11
+ * Explicit method self types
12
12
* `ret` became `return` and `alt` became `match`
13
13
* `import` is now `use`; `use is now `extern mod`
14
14
* `extern mod { ... }` is now `extern { ... }`
15
15
* `use mod` is the recommended way to import modules
16
16
* `pub` and `priv` replace deprecated export lists
17
17
* The syntax of `match` pattern arms now uses fat arrow (=>)
18
+ * `main` no longer accepts an args vector; use `os::args` instead
18
19
19
20
* Semantics
20
21
* Trait implementations are now coherent, ala Haskell typeclasses
@@ -25,15 +26,13 @@ Version 0.4 (September 2012)
25
26
* Typestate was removed
26
27
* Resolution rewritten to be more reliable
27
28
* Support for 'dual-mode' data structures (freezing and thawing)
28
- * Last-use analysis is only used for warnings now. Moves must be explicit
29
- for lvalues (TODO: confirm)
30
29
31
30
* Libraries
32
31
* Most binary operators can now be overloaded via the traits in
33
32
`core::ops'
34
33
* `std::net::url` for representing URLs
35
34
* Sendable hash maps in `core::send_map`
36
- * `core::task' gained a (currently very unsafe) task-local storage API
35
+ * `core::task' gained a (currently unsafe) task-local storage API
37
36
38
37
* Concurrency
39
38
* An efficient new intertask communication primitive called the pipe,
@@ -52,8 +51,7 @@ Version 0.4 (September 2012)
52
51
* Extensive architectural improvements to rustc
53
52
* Begun a transition away from buggy C++-based reflection (shape) code to
54
53
Rust-based (visitor) code
55
- * Hash functions improved across the codebase (TODO: need details)
56
- * New lint checks (TODO: which?)
54
+ * All hash functions and tables converted to secure, randomized SipHash
57
55
58
56
Version 0.3 (July 2012)
59
57
------------------------
0 commit comments