Skip to content

Commit 9b8c435

Browse files
committed
More 0.7 release notes
1 parent ca835f4 commit 9b8c435

File tree

1 file changed

+35
-30
lines changed

1 file changed

+35
-30
lines changed

RELEASES.txt

Lines changed: 35 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,56 @@
11
Version 0.7 (July 2013)
22
-----------------------
33

4-
* ??? changes, numerous bugfixes
4+
* ~2000 changes, numerous bugfixes
55

6-
* Syntax changes
6+
* Language
77
* `impl`s no longer accept a visibility qualifier. Put them on methods
88
instead.
9-
* `use mod` is no longer valid.
10-
* `fail!` and `assert!` accept `~str`, `&'static str` or `fmt!`-style
11-
argument list.
12-
* `Encodable`, `Decodable`, `Ord`, `TotalOrd`, `TotalEq`, `DeepClone`,
13-
`Rand`, `Zero` and `ToStr` can all be automatically derived with
14-
`#[deriving(...)]`.
15-
* The `Durable` trait is replaced with the `'static` bounds.
16-
* At long last, 'argument modes' no longer exist.
17-
* The `bytes!` macro returns a vector of bytes for string, u8, char,
18-
and unsuffixed integer literals.
19-
* `#[static_assert]` makes compile-time assertions about static bools.
20-
21-
* Semantic changes
229
* The borrow checker has been rewritten with flow-sensitivity, fixing
2310
many bugs and inconveniences.
2411
* The `self` parameter no longer implicitly means `&'self self`,
2512
and can be explicitly marked with a lifetime.
26-
* Structs with the `#[packed]` attribute have byte alignment and
27-
no padding between fields.
13+
* Overloadable compound operators (`+=`, etc.) have been temporarily
14+
removed due to bugs.
2815
* The `for` loop protocol now requires `for`-iterators to return `bool`
2916
so they compose better.
17+
* The `Durable` trait is replaced with the `'static` bounds.
3018
* Trait default methods work more often.
19+
* Structs with the `#[packed]` attribute have byte alignment and
20+
no padding between fields.
3121
* Type parameters bound by `Copy` must now be copied explicitly with
3222
the `copy` keyword.
3323
* It is now illegal to move out of a dereferenced unsafe pointer.
3424
* `Option<~T>` is now represented as a nullable pointer.
3525
* `@mut` does dynamic borrow checks correctly.
36-
* Macros TODO
3726
* The `main` function is only detected at the topmost level of the crate.
3827
The `#[main]` attribute is still valid anywhere.
3928
* Struct fields may no longer be mutable. Use inherited mutability.
40-
* The `#[non_owned]` attribute makes a type that would otherwise be
41-
`Owned`, not. TODO this may change to non_send before 0.7
42-
* The `#[mutable]` attribute makes a type that would otherwise be
43-
`Const`, note. TODO this may change to non_freeze before 0.7
29+
* The `#[no_send]` attribute makes a type that would otherwise be
30+
`Send`, not.
31+
* The `#[no_freeze]` attribute makes a type that would otherwise be
32+
`Freeze`, not.
4433
* Unbounded recursion will abort the process after reaching the limit
4534
specified by the `RUST_MAX_STACK` environment variable (default: 1GB).
4635
* The `vecs_implicitly_copyable` lint mode has been removed. Vectors
4736
are never implicitly copyable.
37+
* `#[static_assert]` makes compile-time assertions about static bools.
38+
* At long last, 'argument modes' no longer exist.
39+
* The rarely used `use mod` statement no longer exists.
40+
41+
* Syntax extensions
42+
* `fail!` and `assert!` accept `~str`, `&'static str` or `fmt!`-style
43+
argument list.
44+
* `Encodable`, `Decodable`, `Ord`, `TotalOrd`, `TotalEq`, `DeepClone`,
45+
`Rand`, `Zero` and `ToStr` can all be automatically derived with
46+
`#[deriving(...)]`.
47+
* The `bytes!` macro returns a vector of bytes for string, u8, char,
48+
and unsuffixed integer literals.
4849

4950
* Libraries
5051
* The `core` crate was renamed to `std`.
5152
* The `std` crate was renamed to `extra`.
53+
* More and improved documentation.
5254
* std: `iterator` module for external iterator objects.
5355
* Many old-style (internal, higher-order function) iterators replaced by
5456
implementations of `Iterator`.
@@ -91,8 +93,16 @@ Version 0.7 (July 2013)
9193
* extra: Implementation of fixed output size variations of SHA-2.
9294

9395
* Tooling
94-
* `unused_unsafe` lint mode for detecting unnecessary `unsafe` blocks.
95-
* `unused_mut` lint mode for identifying unused `mut` qualifiers.
96+
* `unused_variable` lint mode for unused variables (default: warn).
97+
* `unused_unsafe` lint mode for detecting unnecessary `unsafe` blocks
98+
(default: warn).
99+
* `unused_mut` lint mode for identifying unused `mut` qualifiers
100+
(default: warn).
101+
* `dead_assignment` lint mode for unread variables (default: warn).
102+
* `unnecessary_allocation` lint mode detects some heap allocations that are
103+
immediately borrowed so could be written without allocating (default: warn).
104+
* `missing_doc` lint mode (default: allow).
105+
* `unreachable_code` lint mode (default: warn).
96106
* The `rusti` command has been rewritten and a number of bugs addressed.
97107
* rustc outputs in color on more terminals.
98108
* rustc accepts a `--link-args` flag to pass arguments to the linker.
@@ -101,12 +111,7 @@ Version 0.7 (July 2013)
101111
dynamic borrowcheck failures for debugging.
102112
* rustdoc has a nicer stylesheet.
103113
* Various improvements to rustdoc.
104-
* Improvements to rustpkg (see the detailed release notes)
105-
106-
* Other
107-
* More and improved library documentation.
108-
* Various improvements on ARM and Android.
109-
* Various improvements to MIPS backend.
114+
* Improvements to rustpkg (see the detailed release notes).
110115

111116
Version 0.6 (April 2013)
112117
------------------------

0 commit comments

Comments
 (0)