= Rust =

The '''Rust programming language''' is a compiled, static-typed language built on top of the LLVM project.

<<TableOfContents>>

----



== Example ==

A hello world program looks like:

{{{
fn main() {
    println!("Hello World!");
}
}}}

To compile and run the program, try:

{{{
rustc hello.rs
./hello
}}}

It is more common to use `cargo(1)`, which wraps `rustc(1)`. It depends on the project following a standard file structure, and on being in the project's root directory.

{{{
cargo build --release
./hello
# or
cargo run
}}}

The `release` flag enables all optimizations. These optimizations are also accessible with `rustc(1)`, but through multiple flags and options.

----



== Installation ==

The only supported method for installing and maintaining the Rust toolchain is through `rustup`.

To get started, run:

{{{
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
}}}

Once `rustup` is installed, try `rustup update` to update the toolchain.

----



== Data Types ==

 * [[Rust/Types|Types]]
 * [[Rust/ScopeAndMutability|Scope and Mutibility]]

----



== See also ==

[[https://doc.rust-lang.org/reference/|The Rust Reference]], the language spec

[[https://doc.rust-lang.org/book/|The Rust Programming Book]], a Rust tutorial

[[https://github.com/rust-lang/rustlings|rustlings]], an interactive (and `git(1)`-based) Rust tutorial



----
CategoryRicottone