Welcome to the Rust documentation! You can use the section headings above to jump to any particular section.
If you haven't seen Rust at all yet, the first thing you should read is the 30 minute intro. It will give you an overview of the basic ideas of Rust at a high level.
Once you know you really want to learn Rust, the next step is reading The Rust Programming Language. It is a lengthy explanation of Rust, its syntax, and its concepts. Upon completing the book, you'll be an intermediate Rust developer, and will have a good grasp of the fundamental ideas behind Rust.
If you need help with something, or just want to talk about Rust with others, there's a few places you can do that:
The Rust IRC channels on irc.mozilla.org are the
fastest way to get help.
the general discussion channel, and you'll find people willing to help you with
any questions you may have.
There are also three specialty channels:
are for game development and operating system development, respectively.
#rust-internals, which is for discussion of the development of Rust itself.
You can also get help on Stack Overflow. Searching for your problem might reveal someone who has asked it before!
There is an active subreddit with lots of discussion about Rust.
There is also a developer forum, where the development of Rust itself is discussed.
Rust does not have an exact specification, but an effort to describe as much of the language in as much detail as possible is in the reference.
Rust's still a young language, so there isn't a ton of tooling yet, but the tools we have are really nice.
Cargo is Rust's package manager, and its website contains lots of good documentation.
rustdoc manual contains information about Rust's
There are questions that are asked quite often, and so we've made FAQs for them:
We have API documentation for the entire standard library. There's a list of crates on the left with more specific sections, or you can use the search bar at the top to search for something if you know its name.
Note: While these are great resources for learning Rust, they may track a particular version of Rust that is likely not exactly the same as that for which this documentation was generated.