Rust comes as a suite of associated libraries, documentation files, and a full-on compiler.
The language itself was written specifically for developing client-server Web apps, with the main focus being on speed and a crash-free design.
Rust's syntax is very similar to C and C++, making it very easy to learn if you have basic programming knowledge.
Applications written in Rust are notably stable.
What is new in this release:
- The vast majority of the standard library is now #[stable]. It is no longer possible to use unstable features with a stable build of the compiler.
- Many popular crates on crates.io now work on the stable release channel.
- Arithmetic on basic integer types now checks for overflow in debug builds.
What is new in version 1.6.0:
- The vast majority of the standard library is now #[stable]. It is no longer possible to use unstable features with a stable build of the compiler.
- Many popular crates on crates.io now work on the stable release channel.
- Arithmetic on basic integer types now checks for overflow in debug builds.
What is new in version 1.5.0:
- The vast majority of the standard library is now #[stable]. It is no longer possible to use unstable features with a stable build of the compiler.
- Many popular crates on crates.io now work on the stable release channel.
- Arithmetic on basic integer types now checks for overflow in debug builds.
What is new in version 1.3.0:
- The vast majority of the standard library is now #[stable]. It is no longer possible to use unstable features with a stable build of the compiler.
- Many popular crates on crates.io now work on the stable release channel.
- Arithmetic on basic integer types now checks for overflow in debug builds.
What is new in version 1.0.0:
- The vast majority of the standard library is now #[stable]. It is no longer possible to use unstable features with a stable build of the compiler.
- Many popular crates on crates.io now work on the stable release channel.
- Arithmetic on basic integer types now checks for overflow in debug builds.
What is new in version 0.12.0 / 1.0.0-beta.4:
- The introductory documentation (now called The Rust Guide) has been completely rewritten, as have a number of supplementary guides.
- Rust's package manager, Cargo, continues to improve and is sometimes considered to be quite awesome.
- Many API's in std have been reviewed and updated for consistency with the in-development Rust coding guidelines. The standard library documentation tracks stabilization progress.
- Minor libraries have been moved out-of-tree to the rust-lang org on GitHub: uuid, semver, glob, num, hexfloat, fourcc. They can be installed with Cargo.
- Lifetime elision allows lifetime annotations to be left off of function declarations in many common scenarios.
- Rust now works on 64-bit Windows.
What is new in version 0.12.0 / 1.0.0-alpha:
- The introductory documentation (now called The Rust Guide) has been completely rewritten, as have a number of supplementary guides.
- Rust's package manager, Cargo, continues to improve and is sometimes considered to be quite awesome.
- Many API's in std have been reviewed and updated for consistency with the in-development Rust coding guidelines. The standard library documentation tracks stabilization progress.
- Minor libraries have been moved out-of-tree to the rust-lang org on GitHub: uuid, semver, glob, num, hexfloat, fourcc. They can be installed with Cargo.
- Lifetime elision allows lifetime annotations to be left off of function declarations in many common scenarios.
- Rust now works on 64-bit Windows.
What is new in version 0.11.0:
- Struct fields are now all private by default.
- Vector indices and shift amounts are both required to be a `uint` now instead of any integral type.
- Byte character, byte string, and raw byte string literals are now all supported by prefixing the normal literal with a `b`.
- Multiple ABIs are no longer allowed in an ABI string
- The syntax for lifetimes on clousres/procedures has been tweaked slightly.
- Floating point modulus has been removed from the language, it is still provided by a library implementation, however.
- Private enum variants are now disallowed.
- The `priv` keyword has been removed from the language.
- A closure can no longer be invoked through a &-pointer.
- The `use foo, bar, baz;` syntax has been removed from the language.
- The transmute intrinsic no longer works on type parameters.
- Statics now allow blocks/items in their definition.
- Trait bounds are separated from objects with + instead of : now.
- Mutably borrowed objects can no longer be read while they are borrowed.
What is new in version 0.10:
- A new RFC process is now in place for modifying the language.
- Patterns with `@`-pointers have been removed from the language.
- Patterns with unique vectors (`~[T]`) have been removed from the language.
- Patterns with unique strings (`~str`) have been removed from the language.
What is new in version 0.9:
- Made extensive improvements to the runtime and I/O subsystem.
- Introduced static linking and link-time optimization.
- Reduced the variety of closures in the language.
What is new in version 0.8:
- 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.
What is new in version 0.6:
- Replaced the 'cargo' package manager with 'rustpkg'
- Added all-purpose 'rust' tool
- `rustc --test` now supports benchmarks with the `#[bench]` attribute
- rustc now *attempts* to offer spelling suggestions
- Improved support for ARM and Android
- Preliminary MIPS backend
- Improved foreign function ABI implementation for x86, x86_64
- Various memory usage improvements
- Rust code may be embedded in foreign code under limited circumstances
What is new in version 0.5:
- New condition handling system in `core::condition`
- Timsort added to `std::sort`
- New priority queue, `std::priority_queue`
- Pipes for serializable types, `std::flatpipes'
- Serialization overhauled to be trait-based
- Expanded `getopts` definitions
- Moved futures to `std`
- More functions are pure now
- `core::comm` renamed to `oldcomm`. Still deprecated
- `rustdoc` and `cargo` are libraries now
- Added a preliminary REPL, `rusti`
- License changed from MIT to dual MIT/APL2
What is new in version 0.3.1:
- Minor OSX fix.
What is new in version 0.3:
- New coding conveniences
- Semantic cleanup
- Experimental new language features
- Type reflection
- Removal of various obsolete features
- Compiler reorganization
Limitations:
- 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.
Comments not found