rust/doc/index.md

158 lines
9.8 KiB
Markdown

% Rust documentation
# Reference docs
**Current (0.9)**
* [Tutorial](http://doc.rust-lang.org/doc/0.9/tutorial.html)
* Guides
* [borrowed pointers](http://doc.rust-lang.org/doc/0.9/guide-borrowed-ptr.html)
* [conditions](http://doc.rust-lang.org/doc/0.9/guide-conditions.html)
* [containers & iterators](http://doc.rust-lang.org/doc/0.9/guide-container.html)
* [ffi](http://doc.rust-lang.org/doc/0.9/guide-ffi.html)
* [macros](http://doc.rust-lang.org/doc/0.9/guide-macros.html)
* [rustpkg](http://doc.rust-lang.org/doc/0.9/guide-rustpkg.html)
* [tasks](http://doc.rust-lang.org/doc/0.9/guide-tasks.html)
* [testing](http://doc.rust-lang.org/doc/0.9/guide-testing.html)
* [Manual](http://doc.rust-lang.org/doc/0.9/rust.html) ([PDF](http://doc.rust-lang.org/doc/0.9/rust.pdf))
* [Standard library](http://doc.rust-lang.org/doc/0.9/std/index.html)
* [Extra library](http://doc.rust-lang.org/doc/0.9/extra/index.html)
* [Package manager](http://doc.rust-lang.org/doc/0.9/rustpkg.html)
**In-development (git master)**
* [Tutorial](http://doc.rust-lang.org/doc/master/tutorial.html) ([PDF](http://doc.rust-lang.org/doc/master/tutorial.pdf))
* Guides
* [borrowed pointers](http://doc.rust-lang.org/doc/master/guide-borrowed-ptr.html)
* [conditions](http://doc.rust-lang.org/doc/master/guide-conditions.html)
* [containers & iterators](http://doc.rust-lang.org/doc/master/guide-container.html)
* [ffi](http://doc.rust-lang.org/doc/master/guide-ffi.html)
* [macros](http://doc.rust-lang.org/doc/master/guide-macros.html)
* [rustpkg](http://doc.rust-lang.org/doc/master/guide-rustpkg.html)
* [tasks](http://doc.rust-lang.org/doc/master/guide-tasks.html)
* [testing](http://doc.rust-lang.org/doc/master/guide-testing.html)
* [Manual](http://doc.rust-lang.org/doc/master/rust.html) ([PDF](http://doc.rust-lang.org/doc/master/rust.pdf))
* [Standard library](http://doc.rust-lang.org/doc/master/std/index.html)
* [Extra library](http://doc.rust-lang.org/doc/master/extra/index.html)
* [libgreen](http://static.rust-lang.org/doc/master/green/index.html)
* [libnative](http://static.rust-lang.org/doc/master/native/index.html)
* [Package manager](http://doc.rust-lang.org/doc/master/rustpkg.html)
# FAQs
* [Language FAQ][lang-faq]
* [Project FAQ][project-faq]
* [Usage FAQ][usage-faq]
* [Code cheatsheet][cheatsheet] - "How do I do X?"
* [HOWTO submit a bug report][bugreport]
[lang-faq]: complement-lang-faq.html
[project-faq]: complement-project-faq.html
[usage-faq]: complement-usage-faq.html
[cheatsheet]: complement-cheatsheet.html
[bugreport]: complement-bugreport.html
# Community
> **Note** that to guard against botnet attacks we occasionally turn on moderation, disallowing
> unregistered users from joining or talking. You may need to [register](https://wiki.mozilla.org/IRC#Register_your_nickname) your nickname. Sorry for the inconvenience.*
* IRC
* [#rust on irc.mozilla.org][pound-rust] - Main Rust channel - general discussion
* [#rust-internals on irc.mozilla.org][pound-rust-internals] - Rust compiler and library development
* [#rust-gamedev on irc.mozilla.org][pound-rust-gamedev] - game development in Rust
* [#rust-osdev on irc.mozill.org][pound-rust-osdev] - OS development in Rust
* [#rust on irc.ozinger.org][pound-rust-korea] - Korean Rust community
* Mailing list [rust-dev]
* Reddit's [r/rust]
* User groups
* [Rust Bay Area][rust-bay-area]
* [Rust Korea][rust-korea]
* [Rust Skåne][rust-skane]
* [Rust 中文圈][rust-zh] (on Google+)
[pound-rust]: http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust
[pound-rust-internals]: http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-internals
[pound-rust-gamedev]: http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-gamedev
[pound-rust-osdev]: http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-osdev
[pound-rust-korea]: http://chat.mibbit.com/?server=irc.ozinger.org&channel=%23rust
[rust-dev]: https://mail.mozilla.org/listinfo/rust-dev
[r/rust]: http://reddit.com/r/rust
[rust-bay-area]: http://www.meetup.com/Rust-Bay-Area/
[rust-korea]: http://rust-kr.org/
[rust-skane]: http://www.meetup.com/rust-skane/
[rust-zh]: https://plus.google.com/communities/100629002107624231185/
# Specialized documentation
[Releases][release-notes] - Links to current and old releases and documentation
[Detailed release notes][detailed-release-notes] - Further explanation of language changes
[Rust for C++ programmers][rust-for-c] - A cheat sheet
[Rusticon][rust-icon] - A glossary of terms commonly used in Rust and Rust tools.
[Unit testing][unit-testing] - Writing tests and running them with the built-in test driver
[Using rustpkg][rustpkg] - Managing packages
[Using rustdoc][rustdoc] - How to extract Markdown and HTML documentation from code
[Package documentation](http://docs.octayn.net/) - Documentation for rust packages
[Continuous integration][ci] - Test your GitHub-hosted packages with Travis CI
[Reading and writing files][doc-rw]
[Attributes][doc-attributes] - The role of metadata in Rust code, with descriptions of many applications
[Packages, editors, and other tools][tools]
[Packaging Terminology][doc-terminology]
[Crate Hashes][crate-hashes] - How Rust generates crate filenames, versions symbols, and why
[Computer Graphics and Game Development][game-dev] - Libraries and example projects
[Présentation du langage Rust](http://lea-linux.org/documentations/Rust) - Detailed documentation in French, with examples
[Building for Android][building-android]
[Building for iOS][building-ios]
[release-notes]: https://github.com/mozilla/rust/wiki/Doc-releases
[detailed-release-notes]: https://github.com/mozilla/rust/wiki/Doc-detailed-release-notes
[rust-for-c]: https://github.com/mozilla/rust/wiki/Rust-for-CXX-programmers
[rust-icon]: https://github.com/mozilla/rust/wiki/The-Rusticon
[unit-testing]: https://github.com/mozilla/rust/wiki/Doc-unit-testing
[rustpkg]: https://github.com/mozilla/rust/wiki/Rustpkg
[rustdoc]: https://github.com/mozilla/rust/wiki/Doc-using-rustdoc
[ci]: https://github.com/mozilla/rust/wiki/Doc-continuous-integration
[doc-rw]: https://github.com/mozilla/rust/wiki/Doc-reading-and-writing-files
[doc-attributes]: https://github.com/mozilla/rust/wiki/Doc-attributes
[tools]: https://github.com/mozilla/rust/wiki/Doc-packages%2C-editors%2C-and-other-tools
[doc-terminology]: https://github.com/mozilla/rust/wiki/Doc-packaging-terminology
[crate-hashes]: https://github.com/mozilla/rust/wiki/Doc-crate-hashes
[game-dev]: https://github.com/mozilla/rust/wiki/Computer-Graphics-and-Game-Development
[building-android]: https://github.com/mozilla/rust/wiki/Doc-building-for-android
[building-ios]: https://github.com/mozilla/rust/wiki/Doc-building-for-ios
Some Rust classics:
* [Pointers in Rust: A Guide](http://words.steveklabnik.com/pointers-in-rust-a-guide)
* [A taste of Rust](https://lwn.net/Articles/547145/)
* [An overview of memory management in Rust](http://pcwalton.github.com/blog/2013/03/18/an-overview-of-memory-management-in-rust/)
* [Which pointer should I use?](http://pcwalton.github.com/blog/2013/03/09/which-pointer-should-i-use/)
* [Lifetimes explained](http://maikklein.github.io/2013/08/27/lifetimes-explained/)
* [Little things that matter in language design](http://lwn.net/Articles/553131/)
* [Operator overloading in Rust](http://maniagnosis.crsr.net/2013/04/operator-overloading-in-rust.html)
* [Embedding Rust in Ruby](http://brson.github.com/2013/03/10/embedding-rust-in-ruby/)
* [A first parallel program in Rust](http://blog.leahhanson.us/a-first-parallel-program-in-rust.html)
* [FizzBuzz revisited](http://composition.al/blog/2013/03/02/fizzbuzz-revisited/)
* [Ownership types in Rust, and whether they're worth it](http://tim.dreamwidth.org/1784423.html)
* [Reasoning about the heap in Rust](http://johnbender.us/2013/04/30/reasoning-about-the-heap-in-rust)
* [The Option Type](http://nickdesaulniers.github.io/blog/2013/05/07/rust-pattern-matching-and-the-option-type/)
* [How I got started hacking rustc](http://cmr.github.io/blog/2013/06/23/how-i-got-started-with-rust/)
* [Abstraction penalties, stack allocation, and ownership types](http://robert.ocallahan.org/2007/10/abstraction-penalties-stack-allocation_23.html)
* [Présentation de Rust 0.8](http://linuxfr.org/news/presentation-de-rust-0-8) - A very detailed article about Rust 0.8, in French!
# Presentations
* [John Clements, 10-minute talk (video)](http://www.youtube.com/watch?v=_KgXy7jnwhY) at SoCal PLS on Rust, Macros, and Hygiene. December 2013.
* [Felix's Codemesh 2013 slides](http://pnkfelix.github.io/present-rust-codemesh2013/fklock-rust-codemesh2013.pdf)
* Geoffroy Couprie's [Scala.IO 2013 slides](http://dev.unhandledexpression.com/slides/rust-scalaio/)
* Steve's presentation at RuPy 2013 "Nobody Knows Rust." [slides](http://steveklabnik.github.io/nobody_knows_rust/#/), video to come soon
* [Tim's presentation at OS Bridge 2013](http://opensourcebridge.org/sessions/970) - And [slides](http://opensourcebridge.org/wiki/2013/Rust%3A_A_Friendly_Introduction)
* [Niko's presentation at Northeastern](http://smallcultfollowing.com/babysteps/blog/2013/07/18/rust-presentation-at-northeastern/) - Slides only
* [An I/O system for Rust](https://air.mozilla.org/intern-presentations-reed/) - Eric Reed's intern presentation on I/O
* [Types of Types](https://air.mozilla.org/ben-blum-from-the-research-team-presents-types-of-types-in-rust/) - Ben Blum's intern presentation on 'kinds'
* [Default methods in Rust](https://air.mozilla.org/intern-presentation-sullivan/) - Michael Sullivan's intern presentation on default methods
* [A work stealing runtime for Rust](https://air.mozilla.org/2013-intern-todd/) - Aaron Todd's intern presentation on the Rust scheduler
* [Dave Herman's StrangeLoop 2012 talk](http://www.infoq.com/presentations/Rust)