11Version 0.9 (January 2014)
22--------------------------
33
4- * ~1600 changes, numerous bugfixes
4+ * ~1800 changes, numerous bugfixes
55
66 * Language
77 * The `float` type has been removed. Use `f32` or `f64` instead.
@@ -22,6 +22,9 @@ Version 0.9 (January 2014)
2222 * `@fn`s have been removed.
2323 * `do` only works with procs in order to make it obvious what the cost
2424 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.
2528 * The `#[link(...)]` attribute has been replaced with
2629 `#[crate_id = "name#vers"]`.
2730 * Empty `impl`s must be terminated with empty braces and may not be
@@ -32,6 +35,8 @@ Version 0.9 (January 2014)
3235 * `printf!` and `printfln!` (old-style formatting) removed in favor of
3336 `print!` and `println!`.
3437 * `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.
3540 * New reserved keywords: `alignof`, `offsetof`, `sizeof`.
3641 * Macros can have attributes.
3742 * Macros can expand to items with attributes.
@@ -76,6 +81,7 @@ Version 0.9 (January 2014)
7681 variables. Currently behind the `thread_local` feature gate.
7782 * The `return` keyword may be used in closures.
7883 * 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.
7985
8086 * Libraries
8187 * std: The `option` and `result` API's have been overhauled to make them
@@ -90,9 +96,14 @@ Version 0.9 (January 2014)
9096 * std: The reference counted pointer type `extra::rc` moved into std.
9197 * std: The `Gc` type in the `gc` module will replace `@` (it is currently
9298 just a wrapper around it).
99+ * std: The `Either` type has been removed.
93100 * std: `fmt::Default` can be implemented for any type to provide default
94101 formatting to the `format!` macro, as in `format!("{}", myfoo)`.
95102 * 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.
96107 * std: Functions dealing with type size and alignment have moved from the
97108 `sys` module to the `mem` module.
98109 * std: The `path` module was written and API changed.
0 commit comments