]> git.lizzy.rs Git - rust.git/blob - src/doc/index.md
Doc says to avoid mixing allocator instead of forbiding it
[rust.git] / src / doc / index.md
1 % Rust Documentation
2
3 Welcome to the Rust documentation! You can use the section headings above
4 to jump to any particular section.
5
6 # Getting Started
7
8 If you haven't seen Rust at all yet, the first thing you should read is the [30
9 minute intro](intro.html). It will give you an overview of the basic ideas of Rust
10 at a high level.
11
12 Once you know you really want to learn Rust, the next step is reading [the
13 guide](guide.html). It is a lengthy explanation of Rust, its syntax, and its
14 concepts. Upon completing the guide, you'll be an intermediate Rust developer,
15 and will have a good grasp of the fundamental ideas behind Rust.
16
17 # Community & Getting Help
18
19 If you need help with something, or just want to talk about Rust with others,
20 there's a few places you can do that:
21
22 The Rust IRC channels on [irc.mozilla.org](http://irc.mozilla.org/) are the
23 fastest way to get help.
24 [`#rust`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust) is
25 the general discussion channel, and you'll find people willing to help you with
26 any questions you may have.
27
28 There are also three specialty channels:
29 [`#rust-gamedev`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-gamedev)
30 and
31 [`#rust-osdev`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-osdev)
32 are for game development and operating system development, respectively.
33 There's also
34 [`#rust-internals`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-internals), which is for discussion of the development of Rust itself.
35
36 You can also get help on [Stack
37 Overflow](http://stackoverflow.com/questions/tagged/rust). Searching for your
38 problem might reveal someone who has asked it before!
39
40 There is an active [subreddit](http://reddit.com/r/rust) with lots of
41 discussion about Rust.
42
43 There is also a [developer forum](http://discuss.rust-lang.org/), where the
44 development of Rust itself is discussed.
45
46 # Specification
47
48 Rust does not have an exact specification, but an effort to describe as much of
49 the language in as much detail as possible is in [the manual](rust.html).
50
51 # Guides
52
53 Rust Guides are in-depth looks at a particular topic that's relevant to Rust
54 development. If you're trying to figure out how to do something, there may be
55 a guide that can help you out:
56
57 * [Strings](guide-strings.html)
58 * [Pointers](guide-pointers.html)
59 * [References and Lifetimes](guide-lifetimes.html)
60 * [Containers and Iterators](guide-container.html)
61 * [Tasks and Communication](guide-tasks.html)
62 * [Foreign Function Interface](guide-ffi.html)
63 * [Writing Unsafe and Low-Level Code](guide-unsafe.html)
64 * [Macros](guide-macros.html)
65 * [Testing](guide-testing.html)
66 * [Rust's Runtime](guide-runtime.html)
67
68 # Tools
69
70 Rust's still a young language, so there isn't a ton of tooling yet, but the
71 tools we have are really nice.
72
73 [Cargo](http://crates.io) is Rust's package manager, and its website contains
74 lots of good documentation.
75
76 [The `rustdoc` manual](rustdoc.html) contains information about Rust's
77 documentation tool.
78
79 # FAQs
80
81 There are questions that are asked quite often, and so we've made FAQs for them:
82
83 * [Language Design FAQ](complement-design-faq.html)
84 * [Language FAQ](complement-lang-faq.html)
85 * [Project FAQ](complement-project-faq.html)
86 * [How to submit a bug report](complement-bugreport.html)
87
88 # The standard library
89
90 You can find function-level documentation for the entire standard library
91 [here](std/index.html). There's a list of crates on the left with more specific
92 sections, or you can use the search bar at the top to search for something if
93 you know its name.
94
95 # External documentation
96
97 *Note: While these are great resources for learning Rust, they may track a
98 particular version of Rust that is likely not exactly the same as that for
99 which this documentation was generated.*
100
101 * [Rust by Example] - Short examples of common tasks in Rust (tracks the master
102   branch).
103 * [Rust for Rubyists] - The first community tutorial for Rust. Tracks the last
104   stable release. Not just for Ruby programmers.
105
106 [Rust by Example]: http://rustbyexample.com/
107 [Rust for Rubyists]: http://www.rustforrubyists.com/