1
1
Version 0.9 (January 2014)
2
2
--------------------------
3
3
4
- * ~1600 changes, numerous bugfixes
4
+ * ~1800 changes, numerous bugfixes
5
5
6
6
* Language
7
7
* The `float` type has been removed. Use `f32` or `f64` instead.
@@ -22,6 +22,9 @@ Version 0.9 (January 2014)
22
22
* `@fn`s have been removed.
23
23
* `do` only works with procs in order to make it obvious what the cost
24
24
of `do` is.
25
+ * Single-element tuple-like structs can no longer be dereferenced to
26
+ obtain the inner value. A more comprehensive solution for overloading
27
+ the dereference operator will be provided in the future.
25
28
* The `#[link(...)]` attribute has been replaced with
26
29
`#[crate_id = "name#vers"]`.
27
30
* Empty `impl`s must be terminated with empty braces and may not be
@@ -32,6 +35,8 @@ Version 0.9 (January 2014)
32
35
* `printf!` and `printfln!` (old-style formatting) removed in favor of
33
36
`print!` and `println!`.
34
37
* `mut` works in patterns now, as in `let (mut x, y) = (1, 2);`.
38
+ * The `extern mod foo (name = "bar")` syntax has been removed. Use
39
+ `extern mod foo = "bar"` instead.
35
40
* New reserved keywords: `alignof`, `offsetof`, `sizeof`.
36
41
* Macros can have attributes.
37
42
* Macros can expand to items with attributes.
@@ -76,6 +81,7 @@ Version 0.9 (January 2014)
76
81
variables. Currently behind the `thread_local` feature gate.
77
82
* The `return` keyword may be used in closures.
78
83
* Types that can be copied via a memcpy implement the `Pod` kind.
84
+ * The `cfg` attribute can now be used on struct fields and enum variants.
79
85
80
86
* Libraries
81
87
* std: The `option` and `result` API's have been overhauled to make them
@@ -90,9 +96,14 @@ Version 0.9 (January 2014)
90
96
* std: The reference counted pointer type `extra::rc` moved into std.
91
97
* std: The `Gc` type in the `gc` module will replace `@` (it is currently
92
98
just a wrapper around it).
99
+ * std: The `Either` type has been removed.
93
100
* std: `fmt::Default` can be implemented for any type to provide default
94
101
formatting to the `format!` macro, as in `format!("{}", myfoo)`.
95
102
* std: The `rand` API continues to be tweaked.
103
+ * std: The `rust_begin_unwind` function, useful for insterting breakpoints
104
+ on failure in gdb, is now named `rust_fail`.
105
+ * std: The `each_key` and `each_value` methods on `HashMap` have been
106
+ replaced by the `keys` and `values` iterators.
96
107
* std: Functions dealing with type size and alignment have moved from the
97
108
`sys` module to the `mem` module.
98
109
* std: The `path` module was written and API changed.
0 commit comments