158 lines
9.8 KiB
Markdown
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)
|