0.2.0 #
- Released on: 29 March, 2012
- Branched from master on: 4 December, 2015
1500 changes, numerous bugfixes
New docs and doc tooling
New port: FreeBSD x86_64
Compilation model enhancements
- Generics now specialized, multiply instantiated
- Functions now inlined across separate crates
Scheduling, stack and threading fixes
- Noticeably improved message-passing performance
- Explicit schedulers
- Callbacks from C
- Helgrind clean
Experimental new language features
- Operator overloading
- Region pointers
- Classes
Various language extensions
- C-callback function types: ‘crust fn …’
- Infinite-loop construct: ’loop { … }'
- Shorten ‘mutable’ to ‘mut’
- Required mutable-local qualifier: ’let mut …’
- Basic glob-exporting: ’export foo::*;'
- Alt now exhaustive, ‘alt check’ for runtime-checked
- Block-function form of ‘for’ loop, with ‘break’ and ‘ret’.
New library code
- AST quasi-quote syntax extension
- Revived libuv interface
- New modules: core::{future, iter}, std::arena
- Merged per-platform std::{os*, fs*} to core::{libc, os}
- Extensive cleanup, regularization in libstd, libcore