Go to file
bors d70a9b93d0 auto merge of #14526 : pczarn/rust/hashmap-opt, r=alexcrichton
An interface that gives a better control over the load factor and the minimum capacity for HashMap.
The size of `HashMap<K, V>` is now 64 bytes by default on a 64-bit platform (or at least 40 bytes, that is 3 words less, with FNV and without minimum capacity)

Unanswered questions about `ResizePolicy`

* should it control the `INITIAL_CAPACITY`?
* should it fully control the resizing behavior? Even though the capacity always changes by a factor of 2.
* is caching `grow_at` desirable?

special thanks to @eddyb and @pnkfelix
2014-06-05 11:06:53 -07:00
man
mk auto merge of #14592 : alexcrichton/rust/rustdoc-links, r=huonw 2014-06-04 22:21:43 -07:00
src auto merge of #14526 : pczarn/rust/hashmap-opt, r=alexcrichton 2014-06-05 11:06:53 -07:00
.gitattributes
.gitignore Ignore /build even if it’s a symlink, but only at top-level. 2014-05-30 11:37:31 -07:00
.gitmodules
.mailmap
.travis.yml
AUTHORS.txt
CONTRIBUTING.md Change static.rust-lang.org to doc.rust-lang.org 2014-05-21 19:55:39 -07:00
COPYRIGHT
LICENSE-APACHE
LICENSE-MIT
Makefile.in
README.md Change static.rust-lang.org to doc.rust-lang.org 2014-05-21 19:55:39 -07:00
RELEASES.txt
configure Don't enable libcpp for llvm by default. 2014-05-28 19:54:58 -07:00

README.md

The Rust Programming Language

This is a compiler for Rust, including standard libraries, tools and documentation.

Quick Start

  1. Download a binary installer for your platform.
  2. Read the tutorial.
  3. Enjoy!

Note: Windows users can read the detailed getting started notes on the wiki.

Building from Source

  1. Make sure you have installed the dependencies:

    • g++ 4.7 or clang++ 3.x
    • python 2.6 or later (but not 3.x)
    • perl 5.0 or later
    • GNU make 3.81 or later
    • curl
    • git
  2. Download and build Rust:

    You can either download a tarball or build directly from the repo.

    To build from the tarball do:

     $ curl -O http://static.rust-lang.org/dist/rust-nightly.tar.gz
     $ tar -xzf rust-nightly.tar.gz
     $ cd rust-nightly
    

    Or to build from the repo do:

     $ git clone https://github.com/mozilla/rust.git
     $ cd rust
    

    Now that you have Rust's source code, you can configure and build it:

     $ ./configure
     $ make && make install
    

    Note: You may need to use sudo make install if you do not normally have permission to modify the destination directory. The install locations can be adjusted by passing a --prefix argument to configure. Various other options are also supported, pass --help for more information on them.

    When complete, make install will place several programs into /usr/local/bin: rustc, the Rust compiler, and rustdoc, the API-documentation tool. system.

  3. Read the tutorial.

  4. Enjoy!

Notes

Since the Rust compiler is written in Rust, it must be built by a precompiled "snapshot" version of itself (made in an earlier state of development). As such, source builds require a connection to the Internet, to fetch snapshots, and an OS that can execute the available snapshot binaries.

Snapshot binaries are currently built and tested on several platforms:

  • Windows (7, 8, Server 2008 R2), x86 only
  • Linux (2.6.18 or later, various distributions), x86 and x86-64
  • OSX 10.7 (Lion) or greater, x86 and x86-64

You may find that other platforms work, but these are our officially supported build environments that are most likely to work.

Rust currently needs about 1.5 GiB of RAM to build without swapping; if it hits swap, it will take a very long time to build.

There is a lot more documentation in the wiki.

License

Rust is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses.

See LICENSE-APACHE, LICENSE-MIT, and COPYRIGHT for details.