Skip to content

Commit 4ce861f

Browse files
committed
---
yaml --- r: 207695 b: refs/heads/tmp c: fc259e0 h: refs/heads/master i: 207693: a1cc934 207691: b9aa467 207687: 12eb380 207679: e00362a v: v3
1 parent cdd48a3 commit 4ce861f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+888
-682
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
3232
refs/heads/beta: cd7d89af9169885642d43597302af69f842bbd78
3333
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928
3434
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
35-
refs/heads/tmp: e161d5cf736f1340f299268163a677c5871af313
35+
refs/heads/tmp: fc259e0dae30e47bfc2b2ee2fd8e3c3f4798beec
3636
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
3737
refs/tags/homu-tmp: 704c2ee730d2e948d11a2edd77e3f35de8329a6e
3838
refs/heads/gate: 97c84447b65164731087ea82685580cc81424412

branches/tmp/RELEASES.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Language
1919

2020
* Several [restrictions have been added to trait coherence][coh] in
2121
order to make it easier for upstream authors to change traits
22-
without breaking downsteam code.
22+
without breaking downstream code.
2323
* Digits of binary and octal literals are [lexed more eagerly][lex] to
2424
improve error messages and macro behavior. For example, `0b1234` is
2525
now lexed as `0b1234` instead of two tokens, `0b1` and `234`.
@@ -169,10 +169,10 @@ Version 1.0.0-alpha.2 (February 2015)
169169
* Highlights
170170

171171
* The various I/O modules were [overhauled][io-rfc] to reduce
172-
unncessary abstractions and provide better interoperation with
172+
unnecessary abstractions and provide better interoperation with
173173
the underlying platform. The old `io` module remains temporarily
174174
at `std::old_io`.
175-
* The standard library now [partipates in feature gating][feat],
175+
* The standard library now [participates in feature gating][feat],
176176
so use of unstable libraries now requires a `#![feature(...)]`
177177
attribute. The impact of this change is [described on the
178178
forum][feat-forum]. [RFC][feat-rfc].
@@ -385,7 +385,7 @@ Version 1.0.0-alpha (January 2015)
385385
syscall when available.
386386
* The 'serialize' crate has been renamed 'rustc-serialize' and
387387
moved out of the distribution to Cargo. Although it is widely
388-
used now, it is expected to be superceded in the near future.
388+
used now, it is expected to be superseded in the near future.
389389
* The `Show` formatter, typically implemented with
390390
`#[derive(Show)]` is [now requested with the `{:?}`
391391
specifier][show] and is intended for use by all types, for uses

branches/tmp/configure

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -717,10 +717,10 @@ probe CFG_MD5 md5
717717
probe CFG_MD5SUM md5sum
718718
if [ -n "$CFG_MD5" ]
719719
then
720-
CFG_HASH_COMMAND="$CFG_MD5 -q | head -c 8"
720+
CFG_HASH_COMMAND="$CFG_MD5 -q | cut -c 1-8"
721721
elif [ -n "$CFG_MD5SUM" ]
722722
then
723-
CFG_HASH_COMMAND="$CFG_MD5SUM | head -c 8"
723+
CFG_HASH_COMMAND="$CFG_MD5SUM | cut -c 1-8"
724724
else
725725
err 'could not find one of: md5 md5sum'
726726
fi

branches/tmp/mk/main.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ CFG_PACKAGE_VERS=$(CFG_RELEASE_NUM)
3232
CFG_DISABLE_UNSTABLE_FEATURES=1
3333
endif
3434
ifeq ($(CFG_RELEASE_CHANNEL),beta)
35-
CFG_RELEASE=$(CFG_RELEASE_NUM)-beta
35+
CFG_RELEASE=$(CFG_RELEASE_NUM)-beta$(CFG_PRERELEASE_VERSION)
3636
# When building beta distributables just reuse the same "beta" name
3737
# so when we upload we'll always override the previous beta. This
3838
# doesn't actually impact the version reported by rustc - it's just

branches/tmp/src/doc/reference.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3622,6 +3622,14 @@ The `Sized` trait indicates that the size of this type is known at compile-time.
36223622
The `Drop` trait provides a destructor, to be run whenever a value of this type
36233623
is to be destroyed.
36243624

3625+
## The `Deref` trait
3626+
3627+
The `Deref<Target = U>` trait allows a type to implicitly implement all the methods
3628+
of the type `U`. When attempting to resolve a method call, the compiler will search
3629+
the top-level type for the implementation of the called method. If no such method is
3630+
found, `.deref()` is called and the compiler continues to search for the method
3631+
implementation in the returned type `U`.
3632+
36253633
# Memory model
36263634

36273635
A Rust program's memory consists of a static set of *items* and a *heap*.

branches/tmp/src/doc/trpl/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ of those times. As the error explains, while we made our binding mutable, we
150150
still cannot call `push`. This is because we already have a reference to an
151151
element of the vector, `y`. Mutating something while another reference exists
152152
is dangerous, because we may invalidate the reference. In this specific case,
153-
when we create the vector, we may have only allocated space for three elements.
154-
Adding a fourth would mean allocating a new chunk of memory for all those elements,
153+
when we create the vector, we may have only allocated space for two elements.
154+
Adding a third would mean allocating a new chunk of memory for all those elements,
155155
copying the old values over, and updating the internal pointer to that memory.
156156
That all works just fine. The problem is that `y` wouldn’t get updated, and so
157157
we’d have a ‘dangling pointer’. That’s bad. Any use of `y` would be an error in

branches/tmp/src/doc/trpl/dining-philosophers.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@ called ‘the dining philosophers’. It was originally conceived by Dijkstra in
77
[paper]: http://www.usingcsp.com/cspbook.pdf
88

99
> In ancient times, a wealthy philanthropist endowed a College to accommodate
10-
> five eminent philosophers. Each philosopher had a room in which he could
11-
> engage in his professional activity of thinking; there was also a common
10+
> five eminent philosophers. Each philosopher had a room in which she could
11+
> engage in her professional activity of thinking; there was also a common
1212
> dining room, furnished with a circular table, surrounded by five chairs, each
1313
> labelled by the name of the philosopher who was to sit in it. They sat
1414
> anticlockwise around the table. To the left of each philosopher there was
1515
> laid a golden fork, and in the centre stood a large bowl of spaghetti, which
16-
> was constantly replenished. A philosopher was expected to spend most of his
17-
> time thinking; but when he felt hungry, he went to the dining room, sat down
18-
> in his own chair, picked up his own fork on his left, and plunged it into the
16+
> was constantly replenished. A philosopher was expected to spend most of her
17+
> time thinking; but when she felt hungry, she went to the dining room, sat down
18+
> in her own chair, picked up her own fork on her left, and plunged it into the
1919
> spaghetti. But such is the tangled nature of spaghetti that a second fork is
2020
> required to carry it to the mouth. The philosopher therefore had also to pick
21-
> up the fork on his right. When he was finished he would put down both his
22-
> forks, get up from his chair, and continue thinking. Of course, a fork can be
23-
> used by only one philosopher at a time. If the other philosopher wants it, he
21+
> up the fork on her right. When she was finished she would put down both her
22+
> forks, get up from her chair, and continue thinking. Of course, a fork can be
23+
> used by only one philosopher at a time. If the other philosopher wants it, she
2424
> just has to wait until the fork is available again.
2525
2626
This classic problem shows off a few different elements of concurrency. The

branches/tmp/src/doc/trpl/documentation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ You can control a few aspects of the HTML that `rustdoc` generates through the
549549
```rust
550550
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
551551
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
552-
html_root_url = "http://doc.rust-lang.org/")];
552+
html_root_url = "http://doc.rust-lang.org/")]
553553
```
554554

555555
This sets a few different options, with a logo, favicon, and a root URL.

branches/tmp/src/doc/trpl/guessing-game.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ a few tricks up their sleeves.
148148
For example, they’re [immutable][immutable] by default. That’s why our example
149149
uses `mut`: it makes a binding mutable, rather than immutable. `let` doesn’t
150150
take a name on the left hand side, it actually accepts a
151-
[pattern][patterns]’. We’ll use patterns more later. It’s easy enough
151+
[pattern][patterns]’. We’ll use patterns later. It’s easy enough
152152
to use for now:
153153

154154
```rust

branches/tmp/src/doc/trpl/lifetimes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ to it.
219219
## Lifetime Elision
220220

221221
Rust supports powerful local type inference in function bodies, but it’s
222-
forbidden in item signatures to allow reasoning about the types just based in
222+
forbidden in item signatures to allow reasoning about the types based on
223223
the item signature alone. However, for ergonomic reasons a very restricted
224224
secondary inference algorithm called “lifetime elision” applies in function
225225
signatures. It infers only based on the signature components themselves and not

branches/tmp/src/doc/trpl/macros.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -476,9 +476,9 @@ which syntactic form it matches.
476476

477477
There are additional rules regarding the next token after a metavariable:
478478

479-
* `expr` variables must be followed by one of: `=> , ;`
480-
* `ty` and `path` variables must be followed by one of: `=> , : = > as`
481-
* `pat` variables must be followed by one of: `=> , =`
479+
* `expr` variables may only be followed by one of: `=> , ;`
480+
* `ty` and `path` variables may only be followed by one of: `=> , : = > as`
481+
* `pat` variables may only be followed by one of: `=> , =`
482482
* Other variables may be followed by any token.
483483

484484
These rules provide some flexibility for Rust’s syntax to evolve without
@@ -683,9 +683,9 @@ let v = vec![0; 100];
683683

684684
## assert! and assert_eq!
685685

686-
These two macros are used in tests. `assert!` takes a boolean, and `assert_eq!`
687-
takes two values and compares them. Truth passes, success `panic!`s. Like
688-
this:
686+
These two macros are used in tests. `assert!` takes a boolean. `assert_eq!`
687+
takes two values and checks them for equality. `true` passes, `false` `panic!`s.
688+
Like this:
689689

690690
```rust,no_run
691691
// A-ok!

branches/tmp/src/doc/trpl/strings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ let world = "world!".to_string();
123123
let hello_world = hello + &world;
124124
```
125125

126-
This is because `&String` can automatically coerece to a `&str`. This is a
126+
This is because `&String` can automatically coerce to a `&str`. This is a
127127
feature called ‘[`Deref` coercions][dc]’.
128128

129129
[dc]: deref-coercions.html

branches/tmp/src/doc/trpl/the-stack-and-the-heap.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -277,9 +277,9 @@ allocated on the heap:
277277
| 0 | x | ?????? |
278278

279279
[drop]: drop.html
280-
[moving]: We can make the memory live longer by transferring ownership,
281-
sometimes called ‘moving out of the box’. More complex examples will
282-
be covered later.
280+
[^moving]: We can make the memory live longer by transferring ownership,
281+
sometimes called ‘moving out of the box’. More complex examples will
282+
be covered later.
283283

284284

285285
And then the stack frame goes away, freeing all of our memory.

branches/tmp/src/liballoc/rc.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
//! and have the `Owner` remain allocated as long as any `Gadget` points at it.
3333
//!
3434
//! ```rust
35-
//! # #![feature(alloc, collections)]
35+
//! # #![feature(alloc)]
3636
//! use std::rc::Rc;
3737
//!
3838
//! struct Owner {
@@ -49,7 +49,7 @@
4949
//! fn main() {
5050
//! // Create a reference counted Owner.
5151
//! let gadget_owner : Rc<Owner> = Rc::new(
52-
//! Owner { name: String::from_str("Gadget Man") }
52+
//! Owner { name: String::from("Gadget Man") }
5353
//! );
5454
//!
5555
//! // Create Gadgets belonging to gadget_owner. To increment the reference

branches/tmp/src/libcollections/btree/map.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1291,14 +1291,13 @@ impl<K, V> BTreeMap<K, V> {
12911291
/// # Examples
12921292
///
12931293
/// ```
1294-
/// # #![feature(core)]
12951294
/// use std::collections::BTreeMap;
12961295
///
12971296
/// let mut a = BTreeMap::new();
12981297
/// a.insert(1, "a");
12991298
/// a.insert(2, "b");
13001299
///
1301-
/// let keys: Vec<usize> = a.keys().cloned().collect();
1300+
/// let keys: Vec<_> = a.keys().cloned().collect();
13021301
/// assert_eq!(keys, [1, 2]);
13031302
/// ```
13041303
#[stable(feature = "rust1", since = "1.0.0")]
@@ -1314,7 +1313,6 @@ impl<K, V> BTreeMap<K, V> {
13141313
/// # Examples
13151314
///
13161315
/// ```
1317-
/// # #![feature(core)]
13181316
/// use std::collections::BTreeMap;
13191317
///
13201318
/// let mut a = BTreeMap::new();
@@ -1555,7 +1553,6 @@ impl<K: Ord, V> BTreeMap<K, V> {
15551553
/// # Examples
15561554
///
15571555
/// ```
1558-
/// # #![feature(collections)]
15591556
/// use std::collections::BTreeMap;
15601557
///
15611558
/// let mut count: BTreeMap<&str, usize> = BTreeMap::new();

branches/tmp/src/libcollections/btree/set.rs

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ impl<T> BTreeSet<T> {
115115
/// # Examples
116116
///
117117
/// ```
118-
/// # #![feature(core)]
119118
/// use std::collections::BTreeSet;
120119
///
121120
/// let set: BTreeSet<usize> = [1, 2, 3, 4].iter().cloned().collect();
@@ -124,7 +123,7 @@ impl<T> BTreeSet<T> {
124123
/// println!("{}", x);
125124
/// }
126125
///
127-
/// let v: Vec<usize> = set.iter().cloned().collect();
126+
/// let v: Vec<_> = set.iter().cloned().collect();
128127
/// assert_eq!(v, [1, 2, 3, 4]);
129128
/// ```
130129
#[stable(feature = "rust1", since = "1.0.0")]
@@ -171,7 +170,6 @@ impl<T: Ord> BTreeSet<T> {
171170
/// # Examples
172171
///
173172
/// ```
174-
/// # #![feature(core)]
175173
/// use std::collections::BTreeSet;
176174
///
177175
/// let mut a = BTreeSet::new();
@@ -182,7 +180,7 @@ impl<T: Ord> BTreeSet<T> {
182180
/// b.insert(2);
183181
/// b.insert(3);
184182
///
185-
/// let diff: Vec<usize> = a.difference(&b).cloned().collect();
183+
/// let diff: Vec<_> = a.difference(&b).cloned().collect();
186184
/// assert_eq!(diff, [1]);
187185
/// ```
188186
#[stable(feature = "rust1", since = "1.0.0")]
@@ -195,7 +193,6 @@ impl<T: Ord> BTreeSet<T> {
195193
/// # Examples
196194
///
197195
/// ```
198-
/// # #![feature(core)]
199196
/// use std::collections::BTreeSet;
200197
///
201198
/// let mut a = BTreeSet::new();
@@ -206,7 +203,7 @@ impl<T: Ord> BTreeSet<T> {
206203
/// b.insert(2);
207204
/// b.insert(3);
208205
///
209-
/// let sym_diff: Vec<usize> = a.symmetric_difference(&b).cloned().collect();
206+
/// let sym_diff: Vec<_> = a.symmetric_difference(&b).cloned().collect();
210207
/// assert_eq!(sym_diff, [1, 3]);
211208
/// ```
212209
#[stable(feature = "rust1", since = "1.0.0")]
@@ -220,7 +217,6 @@ impl<T: Ord> BTreeSet<T> {
220217
/// # Examples
221218
///
222219
/// ```
223-
/// # #![feature(core)]
224220
/// use std::collections::BTreeSet;
225221
///
226222
/// let mut a = BTreeSet::new();
@@ -231,7 +227,7 @@ impl<T: Ord> BTreeSet<T> {
231227
/// b.insert(2);
232228
/// b.insert(3);
233229
///
234-
/// let intersection: Vec<usize> = a.intersection(&b).cloned().collect();
230+
/// let intersection: Vec<_> = a.intersection(&b).cloned().collect();
235231
/// assert_eq!(intersection, [2]);
236232
/// ```
237233
#[stable(feature = "rust1", since = "1.0.0")]
@@ -245,7 +241,6 @@ impl<T: Ord> BTreeSet<T> {
245241
/// # Examples
246242
///
247243
/// ```
248-
/// # #![feature(core)]
249244
/// use std::collections::BTreeSet;
250245
///
251246
/// let mut a = BTreeSet::new();
@@ -254,7 +249,7 @@ impl<T: Ord> BTreeSet<T> {
254249
/// let mut b = BTreeSet::new();
255250
/// b.insert(2);
256251
///
257-
/// let union: Vec<usize> = a.union(&b).cloned().collect();
252+
/// let union: Vec<_> = a.union(&b).cloned().collect();
258253
/// assert_eq!(union, [1, 2]);
259254
/// ```
260255
#[stable(feature = "rust1", since = "1.0.0")]
@@ -318,7 +313,6 @@ impl<T: Ord> BTreeSet<T> {
318313
/// # Examples
319314
///
320315
/// ```
321-
/// # #![feature(core)]
322316
/// use std::collections::BTreeSet;
323317
///
324318
/// let set: BTreeSet<_> = [1, 2, 3].iter().cloned().collect();
@@ -336,7 +330,6 @@ impl<T: Ord> BTreeSet<T> {
336330
/// # Examples
337331
///
338332
/// ```
339-
/// # #![feature(core)]
340333
/// use std::collections::BTreeSet;
341334
///
342335
/// let a: BTreeSet<_> = [1, 2, 3].iter().cloned().collect();
@@ -358,7 +351,6 @@ impl<T: Ord> BTreeSet<T> {
358351
/// # Examples
359352
///
360353
/// ```
361-
/// # #![feature(core)]
362354
/// use std::collections::BTreeSet;
363355
///
364356
/// let sup: BTreeSet<_> = [1, 2, 3].iter().cloned().collect();
@@ -401,7 +393,6 @@ impl<T: Ord> BTreeSet<T> {
401393
/// # Examples
402394
///
403395
/// ```
404-
/// # #![feature(core)]
405396
/// use std::collections::BTreeSet;
406397
///
407398
/// let sub: BTreeSet<_> = [1, 2].iter().cloned().collect();
@@ -483,12 +474,11 @@ impl<T> IntoIterator for BTreeSet<T> {
483474
/// # Examples
484475
///
485476
/// ```
486-
/// # #![feature(core)]
487477
/// use std::collections::BTreeSet;
488478
///
489479
/// let set: BTreeSet<usize> = [1, 2, 3, 4].iter().cloned().collect();
490480
///
491-
/// let v: Vec<usize> = set.into_iter().collect();
481+
/// let v: Vec<_> = set.into_iter().collect();
492482
/// assert_eq!(v, [1, 2, 3, 4]);
493483
/// ```
494484
fn into_iter(self) -> IntoIter<T> {

branches/tmp/src/libcollections/fmt.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,10 @@
353353
//! * `^` - the argument is center-aligned in `width` columns
354354
//! * `>` - the argument is right-aligned in `width` columns
355355
//!
356+
//! Note that alignment may not be implemented by some types. A good way
357+
//! to ensure padding is applied is to format your input, then use this
358+
//! resulting string to pad your output.
359+
//!
356360
//! ## Sign/#/0
357361
//!
358362
//! These can all be interpreted as flags for a particular formatter.

0 commit comments

Comments
 (0)