A concurrent, multi-paradigm, compiled programming language developed by Mozilla
The package containers a compiler, a suite of associated libraries and documentation files.
Here are some key features of "Rust":
- Compilation model - batch, ahead-of-time, C/C++ compatible
- Type system - static, structural-algebraic, with metadata
- Type inference - only local variables
- Generic types - only simple, non-turing-complete substitution
- Concurrency - isolated tasks, message passing
- Unique pointers - move semantics, no races or sharing
- Memory safety - no buffer overflow, use before init, NULL or free()
- Immutability - immutable by default, mutability is the special case
- Garbage collection - optional, per-task, only "shared" types
- Error handling - isolated tasks, unrecoverable unwinding
- Text - utf8 strings, ucs4 characters
- Tier 1 platforms - Linux, OSX, Windows
- Documentation is incomplete.
- Performance is below intended target.
- Standard library APIs are subject to extensive change, reorganization.
- Language-level versioning is not yet operational - future code will break unexpectedly.
- Strings no longer contain trailing nulls. The new `std::c_str` module provides new mechanisms for converting to C strings.
- The type of foreign functions is now `extern "C" fn` instead of `*u8'.
- The FFI has been overhauled such that foreign functions are called directly, instead of through a stack-switching wrapper.
- The `for` loop syntax has changed to work with the `Iterator` trait.
- At long last, unwinding works on Windows.
- Default methods are ready for use.
- Many trait inheritance bugs fixed.
- Owned and borrowed trait objects work more reliably.