Skip to content

Commit 3868849

Browse files
committed
---
yaml --- r: 234058 b: refs/heads/beta c: 3dd1a48 h: refs/heads/master v: v3
1 parent 6305cab commit 3868849

File tree

4 files changed

+36
-29
lines changed

4 files changed

+36
-29
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
2323
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
2424
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
2525
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26-
refs/heads/beta: c8a661838ed3f4db7a9402df880e539b46f0a0f1
26+
refs/heads/beta: 3dd1a48f3f7ac0eeffb2aa5d79bc09daf827fc3f
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: 370fe2786109360f7c35b8ba552b83b773dd71d6
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/src/doc/index.md

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,30 @@ series of small examples.
2020

2121
[rbe]: http://rustbyexample.com/
2222

23-
# The Standard Library
23+
# Language Reference
24+
25+
Rust does not have an exact specification yet, but an effort to describe as much of
26+
the language in as much detail as possible is in [the reference](reference.html).
27+
28+
# Standard Library Reference
2429

2530
We have [API documentation for the entire standard
2631
library](std/index.html). There's a list of crates on the left with more
2732
specific sections, or you can use the search bar at the top to search for
2833
something if you know its name.
2934

35+
# Tools
36+
37+
[Cargo](https://crates.io) is the Rust's package manager providing access to libraries
38+
beyond the standard one, and its website contains lots of good documentation.
39+
40+
[`rustdoc`](book/documentation.html) is the Rust's documentation generator, a tool converting
41+
annotated source code into HTML docs.
42+
43+
A bunch of non-official tools are available, such as [Racer](https://github.com/phildawes/racer)
44+
(code completion engine), or [rustfmt](https://github.com/nrc/rustfmt) (source code formatter),
45+
or text editor plugins.
46+
3047
# Community & Getting Help
3148

3249
If you need help with something, or just want to talk about Rust with others,
@@ -54,25 +71,10 @@ There is an active [subreddit](https://reddit.com/r/rust) with lots of
5471
discussion and news about Rust.
5572

5673
There is also a [user forum](https://users.rust-lang.org), for all
57-
user-oriented discussion, and a [developer
74+
user-oriented discussion, and a [developer
5875
forum](https://internals.rust-lang.org/), where the development of Rust
5976
itself is discussed.
6077

61-
# Specification
62-
63-
Rust does not have an exact specification, but an effort to describe as much of
64-
the language in as much detail as possible is in [the reference](reference.html).
65-
66-
# Tools
67-
68-
Rust is still a young language, so there isn't a ton of tooling yet, but the
69-
tools we have are really nice.
70-
71-
[Cargo](https://crates.io) is Rust's package manager, and its website contains
72-
lots of good documentation.
73-
74-
[`rustdoc`](book/documentation.html) is used to generate documentation for Rust code.
75-
7678
# FAQs
7779

7880
There are questions that are asked quite often, so we've made FAQs for them:

branches/beta/src/doc/nomicon/vec-drain.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -129,14 +129,16 @@ impl<'a, T> Drop for Drain<'a, T> {
129129
130130
impl<T> Vec<T> {
131131
pub fn drain(&mut self) -> Drain<T> {
132-
// this is a mem::forget safety thing. If Drain is forgotten, we just
133-
// leak the whole Vec's contents. Also we need to do this eventually
134-
// anyway, so why not do it now?
135-
self.len = 0;
136-
137132
unsafe {
133+
let iter = RawValIter::new(&self);
134+
135+
// this is a mem::forget safety thing. If Drain is forgotten, we just
136+
// leak the whole Vec's contents. Also we need to do this *eventually*
137+
// anyway, so why not do it now?
138+
self.len = 0;
139+
138140
Drain {
139-
iter: RawValIter::new(&self),
141+
iter: iter,
140142
vec: PhantomData,
141143
}
142144
}

branches/beta/src/doc/nomicon/vec-final.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -155,13 +155,16 @@ impl<T> Vec<T> {
155155
}
156156

157157
pub fn drain(&mut self) -> Drain<T> {
158-
// this is a mem::forget safety thing. If this is forgotten, we just
159-
// leak the whole Vec's contents. Also we need to do this *eventually*
160-
// anyway, so why not do it now?
161-
self.len = 0;
162158
unsafe {
159+
let iter = RawValIter::new(&self);
160+
161+
// this is a mem::forget safety thing. If Drain is forgotten, we just
162+
// leak the whole Vec's contents. Also we need to do this *eventually*
163+
// anyway, so why not do it now?
164+
self.len = 0;
165+
163166
Drain {
164-
iter: RawValIter::new(&self),
167+
iter: iter,
165168
vec: PhantomData,
166169
}
167170
}

0 commit comments

Comments
 (0)