Skip to content

Releases: rust-lang/rust

Rust 0.2

10 Sep 05:53
Compare
Choose a tag to compare
  • 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

Rust 0.1

10 Sep 08:08
Compare
Choose a tag to compare
  • Most language features work, including:

    • Unique pointers, unique closures, move semantics
    • Interface-constrained generics
    • Static interface dispatch
    • Stack growth
    • Multithread task scheduling
    • Typestate predicates
    • Failure unwinding, destructors
    • Pattern matching and destructuring assignment
    • Lightweight block-lambda syntax
    • Preliminary macro-by-example
  • Compiler works with the following configurations:

    • Linux: x86 and x86_64 hosts and targets
    • macOS: x86 and x86_64 hosts and targets
    • Windows: x86 hosts and targets
  • Cross compilation / multi-target configuration supported.

  • Preliminary API-documentation and package-management tools included.

Known issues:

  • 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.