Auto merge of #29872 - steveklabnik:rollup, r=steveklabnik

- Successful merges: #29549, #29796, #29843, #29863, #29865
- Failed merges:
This commit is contained in:
bors 2015-11-16 22:43:32 +00:00
commit 9f49ea0f4b
8 changed files with 129 additions and 85 deletions

View file

@ -14,9 +14,8 @@ concepts. Upon completing the book, you'll be an intermediate Rust
developer, and will have a good grasp of the fundamental ideas behind
Rust.
[Rust By Example][rbe] was originally a community resource, but was then
donated to the Rust project. As the name implies, it teaches you Rust through a
series of small examples.
[Rust By Example][rbe] teaches you Rust through a series of small
examples.
[rbe]: http://rustbyexample.com/
@ -32,49 +31,21 @@ library](std/index.html). 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.
# The Rustonomicon
[The Rustonomicon] is an entire book dedicated to explaining
how to write `unsafe` Rust code. It is for advanced Rust programmers.
[The Rustonomicon]: nomicon/index.html
# Tools
[Cargo](https://crates.io) is the Rust's package manager providing access to libraries
[Cargo](http://doc.crates.io/index.html) is the Rust package manager providing access to libraries
beyond the standard one, and its website contains lots of good documentation.
[`rustdoc`](book/documentation.html) is the Rust's documentation generator, a tool converting
annotated source code into HTML docs.
A bunch of non-official tools are available, such as [Racer](https://github.com/phildawes/racer)
(code completion engine), or [rustfmt](https://github.com/nrc/rustfmt) (source code formatter),
or text editor plugins.
# Community & Getting Help
If you need help with something, or just want to talk about Rust with others,
there are a few places you can do that:
The Rust IRC channels on [irc.mozilla.org](irc://irc.mozilla.org/) are the
fastest way to get help.
[`#rust`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust) is
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:
[`#rust-gamedev`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-gamedev)
and
[`#rust-osdev`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-osdev)
are for game development and operating system development, respectively.
There's also
[`#rust-internals`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-internals), which is for discussion of the development of Rust itself.
You can also get help on [Stack
Overflow](https://stackoverflow.com/questions/tagged/rust). Searching for your
problem might reveal someone who has asked it before!
There is an active [subreddit](https://reddit.com/r/rust) with lots of
discussion and news about Rust.
There is also a [user forum](https://users.rust-lang.org), for all
user-oriented discussion, and a [developer
forum](https://internals.rust-lang.org/), where the development of Rust
itself is discussed.
# FAQs
There are questions that are asked quite often, so we've made FAQs for them:

View file

@ -26,6 +26,9 @@ still consumes a byte of space.
* DSTs, tuples, and tagged unions are not a concept in C and as such are never
FFI safe.
* Tuple structs are like structs with regards to `repr(C)`, as the only
difference from a struct is that the fields arent named.
* **If the type would have any [drop flags], they will still be added**
* This is equivalent to one of `repr(u*)` (see the next section) for enums. The

4
src/etc/add-authors.sh Normal file → Executable file
View file

@ -30,8 +30,8 @@ range="$1"
authors_file="./AUTHORS.txt"
tmp_file="./AUTHORS.txt.tmp"
old_authors="$(cat "$authors_file" | tail -n +2 | sed "/^$/d" | sort)"
new_authors="$(git log "$range" --format="%aN <%aE>" | sort | uniq)"
new_authors="$(git log "$range" --use-mailmap --format="%aN <%aE>" | sort | uniq)"
printf "%s\n\n" "Rust was written by these fine people:" > "$tmp_file"
printf "%s\n%s" "$old_authors" "$new_authors" | sort | uniq >> "$tmp_file"
printf "%s\n%s" "$old_authors" "$new_authors" | sort -fs | uniq >> "$tmp_file"
mv -f "$tmp_file" "$authors_file"

View file

@ -806,6 +806,15 @@ mod something {
pub struct Foo;
}
```
Or, if you tried to use a module from an external crate, you may have missed
the `extern crate` declaration:
```
extern crate homura; // Required to use the `homura` crate
use homura::Madoka;
```
"##,
E0433: r##"

View file

@ -66,7 +66,7 @@ use sys_common::poison::{self, TryLockError, TryLockResult, LockResult};
/// for _ in 0..10 {
/// let (data, tx) = (data.clone(), tx.clone());
/// thread::spawn(move || {
/// // The shared static can only be accessed once the lock is held.
/// // The shared state can only be accessed once the lock is held.
/// // Our non-atomic increment is safe because we're the only thread
/// // which can access the shared state when the lock is held.
/// //