Skip to content

Commit 259aa1d

Browse files
committed
---
yaml --- r: 208591 b: refs/heads/snap-stage3 c: eeeb2cc h: refs/heads/master i: 208589: 65b176b 208587: 5c29e68 208583: 960656d 208575: 354d459 v: v3
1 parent 03e5029 commit 259aa1d

File tree

62 files changed

+370
-469
lines changed

Some content is hidden

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

62 files changed

+370
-469
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 38a97becdf3e6a6157f6f7ec2d98ade8d8edc193
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 6403a2fc3271b5c510307f09d98af8e6c8e15481
4+
refs/heads/snap-stage3: eeeb2cc0dffc016582f020c0a9e6d9f9fc751397
55
refs/heads/try: 7b4ef47b7805a402d756fb8157101f64880a522f
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d

branches/snap-stage3/README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
# The Rust Programming Language
22

3-
Rust is a systems programming language that is fast, memory safe and
4-
multithreaded, but does not employ a garbage collector or otherwise
5-
impose significant runtime overhead.
6-
7-
This repo contains the code for `rustc`, the Rust compiler, as well
8-
as standard libraries, tools and documentation for Rust.
3+
This is a compiler for Rust, including standard libraries, tools and
4+
documentation. Rust is a systems programming language that is fast,
5+
memory safe and multithreaded, but does not employ a garbage collector
6+
or otherwise impose significant runtime overhead.
97

108
## Quick Start
119

branches/snap-stage3/mk/main.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
######################################################################
1414

1515
# The version number
16-
CFG_RELEASE_NUM=1.2.0
16+
CFG_RELEASE_NUM=1.1.0
1717

1818
# An optional number to put after the label, e.g. '.2' -> '-beta.2'
1919
# NB Make sure it starts with a dot to conform to semver pre-release

branches/snap-stage3/src/doc/complement-design-faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ feature.
7979
A nice replacement is the [lazy constructor macro][lcm] by [Marvin
8080
Löbel][kim].
8181

82-
[fqa]: http://yosefk.com/c++fqa/ctors.html#fqa-10.12
82+
[fqa]: https://mail.mozilla.org/pipermail/rust-dev/2013-April/003815.html
8383
[elp]: http://ericlippert.com/2013/02/06/static-constructors-part-one/
8484
[lcm]: https://gist.github.com/Kimundi/8782487
8585
[kim]: https://github.com/Kimundi

branches/snap-stage3/src/doc/trpl/const-and-static.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,10 @@ static N: i32 = 5;
3131

3232
Unlike [`let`][let] bindings, you must annotate the type of a `static`.
3333

34+
[let]: variable-bindings.html
35+
3436
Statics live for the entire lifetime of a program, and therefore any
35-
reference stored in a constant has a [`'static` lifetime][lifetimes]:
37+
reference stored in a constant has a [`static` lifetime][lifetimes]:
3638

3739
```rust
3840
static NAME: &'static str = "Steve";

branches/snap-stage3/src/doc/trpl/dining-philosophers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ let handles: Vec<_> = philosophers.into_iter().map(|p| {
396396
}).collect();
397397
```
398398

399-
While this is only five lines, they’re a dense five. Let’s break it down.
399+
While this is only five lines, they’re a dense four. Let’s break it down.
400400

401401
```rust,ignore
402402
let handles: Vec<_> =

branches/snap-stage3/src/doc/trpl/guessing-game.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Check out the generated `Cargo.toml`:
2727
[package]
2828

2929
name = "guessing_game"
30-
version = "0.1.0"
30+
version = "0.0.1"
3131
authors = ["Your Name <[email protected]>"]
3232
```
3333

@@ -46,7 +46,7 @@ Let’s try compiling what Cargo gave us:
4646

4747
```{bash}
4848
$ cargo build
49-
Compiling guessing_game v0.1.0 (file:///home/you/projects/guessing_game)
49+
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
5050
```
5151

5252
Excellent! Open up your `src/main.rs` again. We’ll be writing all of
@@ -58,7 +58,7 @@ Try it out:
5858

5959
```bash
6060
$ cargo run
61-
Compiling guessing_game v0.1.0 (file:///home/you/projects/guessing_game)
61+
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
6262
Running `target/debug/guessing_game`
6363
Hello, world!
6464
```
@@ -727,7 +727,7 @@ Let’s try our program out!
727727
728728
```bash
729729
$ cargo run
730-
Compiling guessing_game v0.1.0 (file:///home/you/projects/guessing_game)
730+
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
731731
Running `target/guessing_game`
732732
Guess the number!
733733
The secret number is: 58
@@ -792,7 +792,7 @@ and quit. Observe:
792792
793793
```bash
794794
$ cargo run
795-
Compiling guessing_game v0.1.0 (file:///home/you/projects/guessing_game)
795+
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
796796
Running `target/guessing_game`
797797
Guess the number!
798798
The secret number is: 59
@@ -929,7 +929,7 @@ Now we should be good! Let’s try:
929929
930930
```bash
931931
$ cargo run
932-
Compiling guessing_game v0.1.0 (file:///home/you/projects/guessing_game)
932+
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
933933
Running `target/guessing_game`
934934
Guess the number!
935935
The secret number is: 61

branches/snap-stage3/src/doc/trpl/method-syntax.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ fn main() {
156156

157157
This ‘associated function’ builds a new `Circle` for us. Note that associated
158158
functions are called with the `Struct::function()` syntax, rather than the
159-
`ref.method()` syntax. Some other languages call associated functions ‘static
159+
`ref.method()` syntax. Some other langauges call associated functions ‘static
160160
methods’.
161161

162162
# Builder Pattern

branches/snap-stage3/src/doc/trpl/nightly-rust.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ $ sh rustup.sh --channel=nightly
2626
If you're on Windows, please download either the [32-bit installer][win32] or
2727
the [64-bit installer][win64] and run it.
2828

29-
[win32]: https://static.rust-lang.org/dist/rust-nightly-i686-pc-windows-gnu.msi
30-
[win64]: https://static.rust-lang.org/dist/rust-nightly-x86_64-pc-windows-gnu.msi
29+
[win32]: https://static.rust-lang.org/dist/rust-1.0.0-beta-i686-pc-windows-gnu.msi
30+
[win64]: https://static.rust-lang.org/dist/rust-1.0.0-beta-x86_64-pc-windows-gnu.msi
3131

3232
## Uninstalling
3333

branches/snap-stage3/src/doc/trpl/traits.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ let result = f.write("whatever".as_bytes());
208208

209209
This will compile without error.
210210

211-
This means that even if someone does something bad like add methods to `i32`,
211+
This means that even if someone does something bad like add methods to `int`,
212212
it won’t affect you, unless you `use` that trait.
213213

214214
There’s one more restriction on implementing traits. Either the trait or the

branches/snap-stage3/src/liballoc/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
#![staged_api]
6565
#![crate_type = "rlib"]
6666
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
67-
html_favicon_url = "https://doc.rust-lang.org/favicon.ico",
67+
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
6868
html_root_url = "http://doc.rust-lang.org/nightly/")]
6969
#![doc(test(no_crate_inject))]
7070

branches/snap-stage3/src/liballoc/rc.rs

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -634,18 +634,7 @@ impl<T: Default> Default for Rc<T> {
634634
}
635635

636636
#[stable(feature = "rust1", since = "1.0.0")]
637-
#[cfg(stage0)]
638637
impl<T: PartialEq> PartialEq for Rc<T> {
639-
#[inline(always)]
640-
fn eq(&self, other: &Rc<T>) -> bool { **self == **other }
641-
642-
#[inline(always)]
643-
fn ne(&self, other: &Rc<T>) -> bool { **self != **other }
644-
}
645-
646-
#[stable(feature = "rust1", since = "1.0.0")]
647-
#[cfg(not(stage0))]
648-
impl<T: ?Sized + PartialEq> PartialEq for Rc<T> {
649638
/// Equality for two `Rc<T>`s.
650639
///
651640
/// Two `Rc<T>`s are equal if their inner value are equal.
@@ -680,35 +669,10 @@ impl<T: ?Sized + PartialEq> PartialEq for Rc<T> {
680669
}
681670

682671
#[stable(feature = "rust1", since = "1.0.0")]
683-
#[cfg(stage0)]
684672
impl<T: Eq> Eq for Rc<T> {}
685-
#[stable(feature = "rust1", since = "1.0.0")]
686-
#[cfg(not(stage0))]
687-
impl<T: ?Sized + Eq> Eq for Rc<T> {}
688673

689674
#[stable(feature = "rust1", since = "1.0.0")]
690-
#[cfg(stage0)]
691675
impl<T: PartialOrd> PartialOrd for Rc<T> {
692-
#[inline(always)]
693-
fn partial_cmp(&self, other: &Rc<T>) -> Option<Ordering> {
694-
(**self).partial_cmp(&**other)
695-
}
696-
697-
#[inline(always)]
698-
fn lt(&self, other: &Rc<T>) -> bool { **self < **other }
699-
700-
#[inline(always)]
701-
fn le(&self, other: &Rc<T>) -> bool { **self <= **other }
702-
703-
#[inline(always)]
704-
fn gt(&self, other: &Rc<T>) -> bool { **self > **other }
705-
706-
#[inline(always)]
707-
fn ge(&self, other: &Rc<T>) -> bool { **self >= **other }
708-
}
709-
#[stable(feature = "rust1", since = "1.0.0")]
710-
#[cfg(not(stage0))]
711-
impl<T: ?Sized + PartialOrd> PartialOrd for Rc<T> {
712676
/// Partial comparison for two `Rc<T>`s.
713677
///
714678
/// The two are compared by calling `partial_cmp()` on their inner values.
@@ -793,14 +757,7 @@ impl<T: ?Sized + PartialOrd> PartialOrd for Rc<T> {
793757
}
794758

795759
#[stable(feature = "rust1", since = "1.0.0")]
796-
#[cfg(stage0)]
797760
impl<T: Ord> Ord for Rc<T> {
798-
#[inline]
799-
fn cmp(&self, other: &Rc<T>) -> Ordering { (**self).cmp(&**other) }
800-
}
801-
#[stable(feature = "rust1", since = "1.0.0")]
802-
#[cfg(not(stage0))]
803-
impl<T: ?Sized + Ord> Ord for Rc<T> {
804761
/// Comparison for two `Rc<T>`s.
805762
///
806763
/// The two are compared by calling `cmp()` on their inner values.
@@ -1442,9 +1399,4 @@ mod tests {
14421399
assert_eq!(format!("{:?}", foo), "75");
14431400
}
14441401

1445-
#[test]
1446-
fn test_unsized() {
1447-
let foo: Rc<[i32]> = Rc::new([1, 2, 3]);
1448-
assert_eq!(foo, foo.clone());
1449-
}
14501402
}

branches/snap-stage3/src/libarena/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#![crate_type = "rlib"]
2828
#![crate_type = "dylib"]
2929
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
30-
html_favicon_url = "https://doc.rust-lang.org/favicon.ico",
30+
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
3131
html_root_url = "http://doc.rust-lang.org/nightly/")]
3232

3333
#![feature(alloc)]

branches/snap-stage3/src/libcollections/borrow.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,16 +116,10 @@ impl<'a, T: ?Sized> BorrowMut<T> for &'a mut T {
116116
fn borrow_mut(&mut self) -> &mut T { &mut **self }
117117
}
118118

119-
#[cfg(stage0)]
120119
impl<T> Borrow<T> for rc::Rc<T> {
121120
fn borrow(&self) -> &T { &**self }
122121
}
123122

124-
#[cfg(not(stage0))]
125-
impl<T: ?Sized> Borrow<T> for rc::Rc<T> {
126-
fn borrow(&self) -> &T { &**self }
127-
}
128-
129123
impl<T> Borrow<T> for arc::Arc<T> {
130124
fn borrow(&self) -> &T { &**self }
131125
}

branches/snap-stage3/src/libcollections/btree/node.rs

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ pub use self::TraversalItem::*;
1919
use core::prelude::*;
2020

2121
use core::cmp::Ordering::{Greater, Less, Equal};
22+
#[cfg(not(stage0))]
23+
use core::intrinsics::arith_offset;
2224
use core::iter::Zip;
2325
use core::marker::PhantomData;
2426
use core::ops::{Deref, DerefMut, Index, IndexMut};
@@ -205,6 +207,7 @@ impl<T> RawItems<T> {
205207
RawItems::from_parts(slice.as_ptr(), slice.len())
206208
}
207209

210+
#[cfg(stage0)]
208211
unsafe fn from_parts(ptr: *const T, len: usize) -> RawItems<T> {
209212
if mem::size_of::<T>() == 0 {
210213
RawItems {
@@ -219,6 +222,22 @@ impl<T> RawItems<T> {
219222
}
220223
}
221224

225+
#[cfg(not(stage0))]
226+
unsafe fn from_parts(ptr: *const T, len: usize) -> RawItems<T> {
227+
if mem::size_of::<T>() == 0 {
228+
RawItems {
229+
head: ptr,
230+
tail: arith_offset(ptr as *const i8, len as isize) as *const T,
231+
}
232+
} else {
233+
RawItems {
234+
head: ptr,
235+
tail: ptr.offset(len as isize),
236+
}
237+
}
238+
}
239+
240+
#[cfg(stage0)]
222241
unsafe fn push(&mut self, val: T) {
223242
ptr::write(self.tail as *mut T, val);
224243

@@ -228,11 +247,23 @@ impl<T> RawItems<T> {
228247
self.tail = self.tail.offset(1);
229248
}
230249
}
250+
251+
#[cfg(not(stage0))]
252+
unsafe fn push(&mut self, val: T) {
253+
ptr::write(self.tail as *mut T, val);
254+
255+
if mem::size_of::<T>() == 0 {
256+
self.tail = arith_offset(self.tail as *const i8, 1) as *const T;
257+
} else {
258+
self.tail = self.tail.offset(1);
259+
}
260+
}
231261
}
232262

233263
impl<T> Iterator for RawItems<T> {
234264
type Item = T;
235265

266+
#[cfg(stage0)]
236267
fn next(&mut self) -> Option<T> {
237268
if self.head == self.tail {
238269
None
@@ -250,9 +281,29 @@ impl<T> Iterator for RawItems<T> {
250281
}
251282
}
252283
}
284+
285+
#[cfg(not(stage0))]
286+
fn next(&mut self) -> Option<T> {
287+
if self.head == self.tail {
288+
None
289+
} else {
290+
unsafe {
291+
let ret = Some(ptr::read(self.head));
292+
293+
if mem::size_of::<T>() == 0 {
294+
self.head = arith_offset(self.head as *const i8, 1) as *const T;
295+
} else {
296+
self.head = self.head.offset(1);
297+
}
298+
299+
ret
300+
}
301+
}
302+
}
253303
}
254304

255305
impl<T> DoubleEndedIterator for RawItems<T> {
306+
#[cfg(stage0)]
256307
fn next_back(&mut self) -> Option<T> {
257308
if self.head == self.tail {
258309
None
@@ -268,6 +319,23 @@ impl<T> DoubleEndedIterator for RawItems<T> {
268319
}
269320
}
270321
}
322+
323+
#[cfg(not(stage0))]
324+
fn next_back(&mut self) -> Option<T> {
325+
if self.head == self.tail {
326+
None
327+
} else {
328+
unsafe {
329+
if mem::size_of::<T>() == 0 {
330+
self.tail = arith_offset(self.tail as *const i8, -1) as *const T;
331+
} else {
332+
self.tail = self.tail.offset(-1);
333+
}
334+
335+
Some(ptr::read(self.tail))
336+
}
337+
}
338+
}
271339
}
272340

273341
impl<T> Drop for RawItems<T> {

branches/snap-stage3/src/libcollections/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#![staged_api]
2020
#![crate_type = "rlib"]
2121
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
22-
html_favicon_url = "https://doc.rust-lang.org/favicon.ico",
22+
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
2323
html_root_url = "http://doc.rust-lang.org/nightly/",
2424
html_playground_url = "http://play.rust-lang.org/")]
2525
#![doc(test(no_crate_inject))]

0 commit comments

Comments
 (0)