Skip to content

Work on 0.6 release notes #5324

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 79 additions & 2 deletions RELEASES.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,85 @@
Version 0.6 (?)
Version 0.6 (March 2013)
---------------------------

* ~??? changes, numerous bugfixes

* TODO:
* Ord/Cmp
* Lifetime changes
* Implicit self
* Remove `static` keyword
* Static method syntax
* `as Trait`
* `copy` removed?

* Syntax changes
* The self type parameter in traits is now spelled `Self`
* Replaced the `Durable` trait with the `'static` lifetime
* The old closure type syntax with the trailing sigil has been
removed in favor of the more consistent leading sigil
* `super` is a keyword, and may be prefixed to paths
* Trait bounds are separated with `+` instead of whitespace
* Traits are implemented with `impl Trait for Type`
instead of `impl Type: Trait`
* The `export` keyword has finally been removed
* The `move` keyword has been removed (linear types move by default)
* The interior mutability qualifier on vectors, `[mut T]`, has been
removed. Use `&mut [T]`, etc.
* `mut` is no longer valid in `~mut T`. Use inherited mutability
* `fail` is no longer a keyword. Use `fail!()`
* `assert` is no longer a keyword. Use `assert!()`
* `log` is no longer a keyword. use `debug!`, etc.
* 1-tuples may be represented as `(T,)`
* Struct fields may no longer be `mut`. Use inherited mutability,
`@mut T`, `core::mut` or `core::cell`
* `extern mod { ... }` is no longer valid syntax for foreign
function modules. Use extern blocks: `extern { ... }`
* Newtype enums removed. Used tuple-structs.
* Trait implementations no longer support visibility modifiers

* Semantic changes
* Linear types move by default, eliminating the `move` keyword
* All foreign functions are considered unsafe
* &mut is now unaliasable
* Writes to borrowed @mut pointers are prevented dynamically
* () has size 0
* The name of the main function can be customized using #[main]
* The default type of an inferred closure is &fn instead of @fn
* Name resolution continues to be tweaked
* Method visibility is inherited from the implementation declaration

* Other language changes
* Structural records have been removed
* Many more types can be used in constants, including enums
`static lifetime pointers and vectors
* Pattern matching over vectors improved and expanded
* Typechecking of closure types has been overhauled to
improve inference and eliminate unsoundness

* Libraries
* `core::send_map` renamed to `core::hashmap`
* Lots of effort to organize the container API's around `core::container`
* `core::send_map` renamed to `core::hashmap`
* Added big integers to `std::bigint`
* Removed `core::oldcomm` module
* Added pipe-based `core::comm` module
* Reimplemented `std::treemap`
* Numeric traits have been reorganized under `core::num`
* `core::dvec` removed. Use `@mut ~[T]` or other language types
* `vec::slice` finally returns a slice
* `debug!` and friends don't require a format string, e.g. `debug!(Foo)`

* Tools
* Replaced the 'cargo' package manager with 'rustpkg'
* Added all-purpose 'rust' tool
* `rustc --test` now supports a benchmarks with the `#[bench]` attribute
* rustc now attempts to offer spelling suggestions

* Misc
* Improved support for ARM and Android
* Preliminary MIPS backend
* Improved foreign function ABI implementation for x86, x86_64
* Various and memory usage improvements
* Rust code may be embedded in foreign code under limited circumstances

Version 0.5 (December 2012)
---------------------------
Expand Down