Skip to content

Commit 699eaf8

Browse files
author
Ariel Ben-Yehuda
committed
---
yaml --- r: 235993 b: refs/heads/stable c: bd01175 h: refs/heads/master i: 235991: 52eb315 v: v3
1 parent 1b9c5b4 commit 699eaf8

File tree

221 files changed

+7989
-2793
lines changed

Some content is hidden

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

221 files changed

+7989
-2793
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ refs/heads/tmp: afae2ff723393b3ab4ccffef6ac7c6d1809e2da0
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
3030
refs/tags/homu-tmp: f859507de8c410b648d934d8f5ec1c52daac971d
3131
refs/tags/1.0.0-beta: 8cbb92b53468ee2b0c2d3eeb8567005953d40828
32-
refs/heads/stable: 090ad6fde7e55c5a8e8969cc2983e25b92adc633
32+
refs/heads/stable: bd0117523448f9cda8a61c048b9f4ce5372ade15
3333
refs/tags/1.0.0: 55bd4f8ff2b323f317ae89e254ce87162d52a375
3434
refs/tags/1.1.0: bc3c16f09287e5545c1d3f76b7abd54f2eca868b
3535
refs/tags/1.2.0: f557861f822c34f07270347b94b5280de20a597e

branches/stable/.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@
66
*.rs rust
77
src/etc/pkg/rust-logo.ico binary
88
src/etc/pkg/rust-logo.png binary
9+
src/rt/msvc/* -whitespace
10+
src/rt/valgrind/* -whitespace
911
*.woff binary

branches/stable/configure

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -601,9 +601,7 @@ valopt llvm-root "" "set LLVM root"
601601
valopt python "" "set path to python"
602602
valopt jemalloc-root "" "set directory where libjemalloc_pic.a is located"
603603
valopt build "${DEFAULT_BUILD}" "GNUs ./configure syntax LLVM build triple"
604-
valopt android-cross-path "/opt/ndk_standalone" "Android NDK standalone path (deprecated)"
605-
valopt arm-linux-androideabi-ndk "" "arm-linux-androideabi NDK standalone path"
606-
valopt aarch64-linux-android-ndk "" "aarch64-linux-android NDK standalone path"
604+
valopt android-cross-path "/opt/ndk_standalone" "Android NDK standalone path"
607605
valopt release-channel "dev" "the name of the release channel to build"
608606
valopt musl-root "/usr/local" "MUSL root installation directory"
609607

@@ -1005,9 +1003,11 @@ then
10051003
(''|*clang)
10061004
CFG_CLANG_REPORTED_VERSION=$($CFG_CC --version | grep version)
10071005

1008-
if echo $CFG_CLANG_REPORTED_VERSION | grep -q "(based on LLVM "; then
1006+
if [[ $CFG_CLANG_REPORTED_VERSION == *"(based on LLVM "* ]]
1007+
then
10091008
CFG_CLANG_VERSION=$(echo $CFG_CLANG_REPORTED_VERSION | sed 's/.*(based on LLVM \(.*\))/\1/')
1010-
elif echo $CFG_CLANG_REPORTED_VERSION | grep -q "Apple LLVM"; then
1009+
elif [[ $CFG_CLANG_REPORTED_VERSION == "Apple LLVM"* ]]
1010+
then
10111011
CFG_OSX_CLANG_VERSION=$(echo $CFG_CLANG_REPORTED_VERSION | sed 's/.*version \(.*\) .*/\1/')
10121012
else
10131013
CFG_CLANG_VERSION=$(echo $CFG_CLANG_REPORTED_VERSION | sed 's/.*version \(.*\) .*/\1/')
@@ -1112,24 +1112,20 @@ do
11121112
fi
11131113

11141114
case $i in
1115-
*android*)
1116-
upper_snake_target=$(echo "$i" | tr '[:lower:]' '[:upper:]' | tr '\-' '\_')
1117-
eval ndk=\$"CFG_${upper_snake_target}_NDK"
1118-
if [ -z "$ndk" ]
1115+
arm-linux-androideabi)
1116+
1117+
if [ ! -f $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-gcc ]
11191118
then
1120-
ndk=$CFG_ANDROID_CROSS_PATH
1121-
eval "CFG_${upper_snake_target}_NDK"=$CFG_ANDROID_CROSS_PATH
1122-
warn "generic/default Android NDK option is deprecated (use --$i-ndk option instead)"
1119+
err "NDK $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-gcc not found"
1120+
fi
1121+
if [ ! -f $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-g++ ]
1122+
then
1123+
err "NDK $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-g++ not found"
1124+
fi
1125+
if [ ! -f $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-ar ]
1126+
then
1127+
err "NDK $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-ar not found"
11231128
fi
1124-
1125-
# Perform a basic sanity check of the NDK
1126-
for android_ndk_tool in "$ndk/bin/$i-gcc" "$ndk/bin/$i-g++" "$ndk/bin/$i-ar"
1127-
do
1128-
if [ ! -f $android_ndk_tool ]
1129-
then
1130-
err "NDK tool $android_ndk_tool not found (bad or missing --$i-ndk option?)"
1131-
fi
1132-
done
11331129
;;
11341130

11351131
arm-apple-darwin)
@@ -1686,8 +1682,7 @@ putvar CFG_HOST
16861682
putvar CFG_TARGET
16871683
putvar CFG_LIBDIR_RELATIVE
16881684
putvar CFG_DISABLE_MANAGE_SUBMODULES
1689-
putvar CFG_AARCH64_LINUX_ANDROID_NDK
1690-
putvar CFG_ARM_LINUX_ANDROIDEABI_NDK
1685+
putvar CFG_ANDROID_CROSS_PATH
16911686
putvar CFG_MANDIR
16921687

16931688
# Avoid spurious warnings from clang by feeding it original source on

branches/stable/mk/cfg/aarch64-linux-android.mk

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# aarch64-linux-android configuration
22
# CROSS_PREFIX_aarch64-linux-android-
3-
CC_aarch64-linux-android=$(CFG_AARCH64_LINUX_ANDROID_NDK)/bin/aarch64-linux-android-gcc
4-
CXX_aarch64-linux-android=$(CFG_AARCH64_LINUX_ANDROID_NDK)/bin/aarch64-linux-android-g++
5-
CPP_aarch64-linux-android=$(CFG_AARCH64_LINUX_ANDROID_NDK)/bin/aarch64-linux-android-gcc -E
6-
AR_aarch64-linux-android=$(CFG_AARCH64_LINUX_ANDROID_NDK)/bin/aarch64-linux-android-ar
3+
CC_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc
4+
CXX_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-g++
5+
CPP_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc -E
6+
AR_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-ar
77
CFG_LIB_NAME_aarch64-linux-android=lib$(1).so
88
CFG_STATIC_LIB_NAME_aarch64-linux-android=lib$(1).a
99
CFG_LIB_GLOB_aarch64-linux-android=lib$(1)-*.so

branches/stable/mk/cfg/arm-linux-androideabi.mk

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# arm-linux-androideabi configuration
2-
CC_arm-linux-androideabi=$(CFG_ARM_LINUX_ANDROIDEABI_NDK)/bin/arm-linux-androideabi-gcc
3-
CXX_arm-linux-androideabi=$(CFG_ARM_LINUX_ANDROIDEABI_NDK)/bin/arm-linux-androideabi-g++
4-
CPP_arm-linux-androideabi=$(CFG_ARM_LINUX_ANDROIDEABI_NDK)/bin/arm-linux-androideabi-gcc -E
5-
AR_arm-linux-androideabi=$(CFG_ARM_LINUX_ANDROIDEABI_NDK)/bin/arm-linux-androideabi-ar
2+
CC_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc
3+
CXX_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-g++
4+
CPP_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc -E
5+
AR_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-ar
66
CFG_LIB_NAME_arm-linux-androideabi=lib$(1).so
77
CFG_STATIC_LIB_NAME_arm-linux-androideabi=lib$(1).a
88
CFG_LIB_GLOB_arm-linux-androideabi=lib$(1)-*.so

branches/stable/src/doc/trpl/choosing-your-guarantees.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ allowed to share references to this by the regular borrowing rules, checked at c
4242

4343
## `&T` and `&mut T`
4444

45-
These are immutable and mutable references respectively. They follow the “read-write lock”
45+
These are immutable and mutable references respectively. They follow the &lquo;read-write lock&rquo;
4646
pattern, such that one may either have only one mutable reference to some data, or any number of
4747
immutable ones, but not both. This guarantee is enforced at compile time, and has no visible cost at
4848
runtime. In most cases these two pointer types suffice for sharing cheap references between sections
@@ -108,7 +108,7 @@ increment the inner reference count and return a copy of the `Rc<T>`.
108108

109109
# Cell types
110110

111-
`Cell`s provide interior mutability. In other words, they contain data which can be manipulated even
111+
&lquo;Cell&rquo;s provide interior mutability. In other words, they contain data which can be manipulated even
112112
if the type cannot be obtained in a mutable form (for example, when it is behind an `&`-ptr or
113113
`Rc<T>`).
114114

@@ -127,8 +127,7 @@ If a field is wrapped in `Cell`, it's a nice indicator that the chunk of data is
127127
stay the same between the time you first read it and when you intend to use it.
128128

129129
```rust
130-
use std::cell::Cell;
131-
130+
# use std::cell::Cell;
132131
let x = Cell::new(1);
133132
let y = &x;
134133
let z = &x;
@@ -186,8 +185,7 @@ any other borrows active when a mutable borrow is active. If the programmer atte
186185
borrow, the thread will panic.
187186

188187
```rust
189-
use std::cell::RefCell;
190-
188+
# use std::cell::RefCell;
191189
let x = RefCell::new(vec![1,2,3,4]);
192190
{
193191
println!("{:?}", *x.borrow())

branches/stable/src/doc/trpl/compiler-plugins.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ fn expand_rn(cx: &mut ExtCtxt, sp: Span, args: &[TokenTree])
6161
("I", 1)];
6262
6363
let text = match args {
64-
[TtToken(_, token::Ident(s, _))] => s.to_string(),
64+
[TtToken(_, token::Ident(s, _))] => token::get_ident(s).to_string(),
6565
_ => {
6666
cx.span_err(sp, "argument should be a single identifier");
6767
return DummyResult::any(sp);
@@ -186,7 +186,8 @@ impl LintPass for Pass {
186186
}
187187
188188
fn check_item(&mut self, cx: &Context, it: &ast::Item) {
189-
if it.ident.name == "lintme" {
189+
let name = token::get_ident(it.ident);
190+
if name.get() == "lintme" {
190191
cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'");
191192
}
192193
}

branches/stable/src/doc/trpl/crates-and-modules.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -355,10 +355,6 @@ Hello in English: Hello!
355355
Goodbye in English: Goodbye.
356356
```
357357
358-
`pub` also applies to `struct`s and their member fields. In keeping with Rust’s
359-
tendency toward safety, simply making a `struct` public won't automatically
360-
make its members public: you must mark the fields individually with `pub`.
361-
362358
Now that our functions are public, we can use them. Great! However, typing out
363359
`phrases::english::greetings::hello()` is very long and repetitive. Rust has
364360
another keyword for importing names into the current scope, so that you can
@@ -521,6 +517,9 @@ of `foo` relative to where we are. If that’s prefixed with `::`, as in
521517
`::foo::bar()`, it refers to a different `foo`, an absolute path from your
522518
crate root.
523519
520+
Also, note that we `pub use`d before we declared our `mod`s. Rust requires that
521+
`use` declarations go first.
522+
524523
This will build and run:
525524
526525
```bash

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ generator, which is local to the particular [thread][concurrency] of execution
499499
we’re in. Because we `use rand::Rng`’d above, it has a `gen_range()` method
500500
available. This method takes two arguments, and generates a number between
501501
them. It’s inclusive on the lower bound, but exclusive on the upper bound,
502-
so we need `1` and `101` to get a number ranging from one to a hundred.
502+
so we need `1` and `101` to get a number between one and a hundred.
503503

504504
[concurrency]: concurrency.html
505505

branches/stable/src/doc/trpl/intrinsics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ perform efficient pointer arithmetic, one would import those functions
1111
via a declaration like
1212

1313
```rust
14-
#![feature(intrinsics)]
14+
# #![feature(intrinsics)]
1515
# fn main() {}
1616

1717
extern "rust-intrinsic" {

branches/stable/src/liballoc/arc.rs

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,7 @@ impl<T: ?Sized> Arc<T> {
200200
/// # Examples
201201
///
202202
/// ```
203-
/// #![feature(arc_weak)]
204-
///
203+
/// # #![feature(arc_weak)]
205204
/// use std::sync::Arc;
206205
///
207206
/// let five = Arc::new(5);
@@ -338,8 +337,7 @@ impl<T: Clone> Arc<T> {
338337
/// # Examples
339338
///
340339
/// ```
341-
/// #![feature(arc_unique)]
342-
///
340+
/// # #![feature(arc_unique)]
343341
/// use std::sync::Arc;
344342
///
345343
/// let mut five = Arc::new(5);
@@ -410,8 +408,7 @@ impl<T: ?Sized> Arc<T> {
410408
/// # Examples
411409
///
412410
/// ```
413-
/// #![feature(arc_unique, alloc)]
414-
///
411+
/// # #![feature(arc_unique, alloc)]
415412
/// extern crate alloc;
416413
/// # fn main() {
417414
/// use alloc::arc::Arc;
@@ -558,8 +555,7 @@ impl<T: ?Sized> Weak<T> {
558555
/// # Examples
559556
///
560557
/// ```
561-
/// #![feature(arc_weak)]
562-
///
558+
/// # #![feature(arc_weak)]
563559
/// use std::sync::Arc;
564560
///
565561
/// let five = Arc::new(5);
@@ -603,8 +599,7 @@ impl<T: ?Sized> Clone for Weak<T> {
603599
/// # Examples
604600
///
605601
/// ```
606-
/// #![feature(arc_weak)]
607-
///
602+
/// # #![feature(arc_weak)]
608603
/// use std::sync::Arc;
609604
///
610605
/// let weak_five = Arc::new(5).downgrade();
@@ -631,8 +626,7 @@ impl<T: ?Sized> Drop for Weak<T> {
631626
/// # Examples
632627
///
633628
/// ```
634-
/// #![feature(arc_weak)]
635-
///
629+
/// # #![feature(arc_weak)]
636630
/// use std::sync::Arc;
637631
///
638632
/// {

branches/stable/src/liballoc/boxed.rs

Lines changed: 5 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
use core::prelude::*;
5757

5858
use heap;
59-
use raw_vec::RawVec;
6059

6160
use core::any::Any;
6261
use core::cmp::Ordering;
@@ -66,7 +65,7 @@ use core::marker::{self, Unsize};
6665
use core::mem;
6766
use core::ops::{CoerceUnsized, Deref, DerefMut};
6867
use core::ops::{Placer, Boxed, Place, InPlace, BoxPlace};
69-
use core::ptr::{self, Unique};
68+
use core::ptr::Unique;
7069
use core::raw::{TraitObject};
7170

7271
/// A value that represents the heap. This is the default place that the `box`
@@ -75,8 +74,7 @@ use core::raw::{TraitObject};
7574
/// The following two examples are equivalent:
7675
///
7776
/// ```
78-
/// #![feature(box_heap)]
79-
///
77+
/// # #![feature(box_heap)]
8078
/// #![feature(box_syntax, placement_in_syntax)]
8179
/// use std::boxed::HEAP;
8280
///
@@ -242,8 +240,7 @@ impl<T : ?Sized> Box<T> {
242240
///
243241
/// # Examples
244242
/// ```
245-
/// #![feature(box_raw)]
246-
///
243+
/// # #![feature(box_raw)]
247244
/// let seventeen = Box::new(17u32);
248245
/// let raw = Box::into_raw(seventeen);
249246
/// let boxed_again = unsafe { Box::from_raw(raw) };
@@ -266,8 +263,7 @@ impl<T : ?Sized> Box<T> {
266263
///
267264
/// # Examples
268265
/// ```
269-
/// #![feature(box_raw)]
270-
///
266+
/// # #![feature(box_raw)]
271267
/// use std::boxed;
272268
///
273269
/// let seventeen = Box::new(17u32);
@@ -310,8 +306,7 @@ impl<T: Clone> Clone for Box<T> {
310306
/// # Examples
311307
///
312308
/// ```
313-
/// #![feature(box_raw)]
314-
///
309+
/// # #![feature(box_raw)]
315310
/// let x = Box::new(5);
316311
/// let mut y = Box::new(10);
317312
///
@@ -519,55 +514,3 @@ impl<'a,A,R> FnOnce<A> for Box<FnBox<A,Output=R>+Send+'a> {
519514
}
520515

521516
impl<T: ?Sized+Unsize<U>, U: ?Sized> CoerceUnsized<Box<U>> for Box<T> {}
522-
523-
#[stable(feature = "box_slice_clone", since = "1.3.0")]
524-
impl<T: Clone> Clone for Box<[T]> {
525-
fn clone(&self) -> Self {
526-
let mut new = BoxBuilder {
527-
data: RawVec::with_capacity(self.len()),
528-
len: 0
529-
};
530-
531-
let mut target = new.data.ptr();
532-
533-
for item in self.iter() {
534-
unsafe {
535-
ptr::write(target, item.clone());
536-
target = target.offset(1);
537-
};
538-
539-
new.len += 1;
540-
}
541-
542-
return unsafe { new.into_box() };
543-
544-
// Helper type for responding to panics correctly.
545-
struct BoxBuilder<T> {
546-
data: RawVec<T>,
547-
len: usize,
548-
}
549-
550-
impl<T> BoxBuilder<T> {
551-
unsafe fn into_box(self) -> Box<[T]> {
552-
let raw = ptr::read(&self.data);
553-
mem::forget(self);
554-
raw.into_box()
555-
}
556-
}
557-
558-
impl<T> Drop for BoxBuilder<T> {
559-
fn drop(&mut self) {
560-
let mut data = self.data.ptr();
561-
let max = unsafe { data.offset(self.len as isize) };
562-
563-
while data != max {
564-
unsafe {
565-
ptr::read(data);
566-
data = data.offset(1);
567-
}
568-
}
569-
}
570-
}
571-
}
572-
}
573-

branches/stable/src/liballoc/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@
7676
#![feature(core)]
7777
#![feature(core_intrinsics)]
7878
#![feature(core_prelude)]
79-
#![feature(core_slice_ext)]
8079
#![feature(custom_attribute)]
8180
#![feature(fundamental)]
8281
#![feature(lang_items)]

0 commit comments

Comments
 (0)