Skip to content

Commit 0ca852c

Browse files
committed
---
yaml --- r: 234233 b: refs/heads/beta c: 522d4b0 h: refs/heads/master i: 234231: 18c99cf v: v3
1 parent 6395038 commit 0ca852c

File tree

148 files changed

+8908
-9319
lines changed

Some content is hidden

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

148 files changed

+8908
-9319
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: f3e6d315386cebdd6679055d9350c258f2a51689
26+
refs/heads/beta: 522d4b0a354b60b1b69d15773197c4c3dba521a5
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: 370fe2786109360f7c35b8ba552b83b773dd71d6
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/CONTRIBUTING.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,6 @@ are:
225225
* Although out of date, [Tom Lee's great blog article][tlgba] is very helpful
226226
* [rustaceans.org][ro] is helpful, but mostly dedicated to IRC
227227
* The [Rust Compiler Testing Docs][rctd]
228-
* For @bors, [this cheetsheat][cheetsheat] is helpful (Remember to replace `@homu` with `@bors` in the commands that you use.)
229228
* **Google**!
230229
* Don't be afraid to ask! The Rust community is friendly and helpful.
231230

@@ -235,4 +234,3 @@ are:
235234
[tlgba]: http://tomlee.co/2014/04/03/a-more-detailed-tour-of-the-rust-compiler/
236235
[ro]: http://www.rustaceans.org/
237236
[rctd]: ./COMPILER_TESTS.md
238-
[cheetsheat]: http://buildbot.rust-lang.org/homu/

branches/beta/src/doc/trpl/advanced-linking.md

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -80,30 +80,33 @@ $ mkdir musldist
8080
$ PREFIX=$(pwd)/musldist
8181
$
8282
$ # Build musl
83-
$ curl -O http://www.musl-libc.org/releases/musl-1.1.10.tar.gz
83+
$ wget http://www.musl-libc.org/releases/musl-1.1.10.tar.gz
84+
[...]
8485
$ tar xf musl-1.1.10.tar.gz
8586
$ cd musl-1.1.10/
8687
musl-1.1.10 $ ./configure --disable-shared --prefix=$PREFIX
88+
[...]
8789
musl-1.1.10 $ make
90+
[...]
8891
musl-1.1.10 $ make install
92+
[...]
8993
musl-1.1.10 $ cd ..
9094
$ du -h musldist/lib/libc.a
9195
2.2M musldist/lib/libc.a
9296
$
9397
$ # Build libunwind.a
94-
$ curl -O http://llvm.org/releases/3.7.0/llvm-3.7.0.src.tar.xz
95-
$ tar xf llvm-3.7.0.src.tar.xz
96-
$ cd llvm-3.7.0.src/projects/
97-
llvm-3.7.0.src/projects $ curl http://llvm.org/releases/3.7.0/libcxxabi-3.7.0.src.tar.xz | tar xJf -
98-
llvm-3.7.0.src/projects $ mv libcxxabi-3.7.0.src libcxxabi
99-
llvm-3.7.0.src/projects $ curl http://llvm.org/releases/3.7.0/libunwind-3.7.0.src.tar.xz | tar xJf -
100-
llvm-3.7.0.src/projects $ mv libunwind-3.7.0.src libunwind
101-
llvm-3.7.0.src/projects $ mkdir libunwind/build
102-
llvm-3.7.0.src/projects $ cd libunwind/build
103-
llvm-3.7.0.src/projects/libunwind/build $ cmake -DLLVM_PATH=../../.. -DLIBUNWIND_ENABLE_SHARED=0 ..
104-
llvm-3.7.0.src/projects/libunwind/build $ make
105-
llvm-3.7.0.src/projects/libunwind/build $ cp lib/libunwind.a $PREFIX/lib/
106-
llvm-3.7.0.src/projects/libunwind/build $ cd ../../../../
98+
$ wget http://llvm.org/releases/3.6.1/llvm-3.6.1.src.tar.xz
99+
$ tar xf llvm-3.6.1.src.tar.xz
100+
$ cd llvm-3.6.1.src/projects/
101+
llvm-3.6.1.src/projects $ svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk/ libcxxabi
102+
llvm-3.6.1.src/projects $ svn co http://llvm.org/svn/llvm-project/libunwind/trunk/ libunwind
103+
llvm-3.6.1.src/projects $ sed -i 's#^\(include_directories\).*$#\0\n\1(../libcxxabi/include)#' libunwind/CMakeLists.txt
104+
llvm-3.6.1.src/projects $ mkdir libunwind/build
105+
llvm-3.6.1.src/projects $ cd libunwind/build
106+
llvm-3.6.1.src/projects/libunwind/build $ cmake -DLLVM_PATH=../../.. -DLIBUNWIND_ENABLE_SHARED=0 ..
107+
llvm-3.6.1.src/projects/libunwind/build $ make
108+
llvm-3.6.1.src/projects/libunwind/build $ cp lib/libunwind.a $PREFIX/lib/
109+
llvm-3.6.1.src/projects/libunwind/build $ cd cd ../../../../
107110
$ du -h musldist/lib/libunwind.a
108111
164K musldist/lib/libunwind.a
109112
$

branches/beta/src/liballoc/arc.rs

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ impl<T: ?Sized + Unsize<U>, U: ?Sized> CoerceUnsized<Arc<U>> for Arc<T> {}
137137
/// Weak pointers will not keep the data inside of the `Arc` alive, and can be
138138
/// used to break cycles between `Arc` pointers.
139139
#[unsafe_no_drop_flag]
140-
#[stable(feature = "arc_weak", since = "1.4.0")]
140+
#[unstable(feature = "arc_weak", reason = "needs FCP", issue = "27718")]
141141
pub struct Weak<T: ?Sized> {
142142
// FIXME #12808: strange name to try to avoid interfering with
143143
// field accesses of the contained type via Deref
@@ -201,6 +201,7 @@ impl<T> Arc<T> {
201201
/// # Examples
202202
///
203203
/// ```
204+
/// #![feature(arc_unique)]
204205
/// use std::sync::Arc;
205206
///
206207
/// let x = Arc::new(3);
@@ -211,7 +212,7 @@ impl<T> Arc<T> {
211212
/// assert_eq!(Arc::try_unwrap(x), Err(Arc::new(4)));
212213
/// ```
213214
#[inline]
214-
#[stable(feature = "arc_unique", since = "1.4.0")]
215+
#[unstable(feature = "arc_unique", reason = "needs FCP", issue = "27718")]
215216
pub fn try_unwrap(this: Self) -> Result<T, Self> {
216217
// See `drop` for why all these atomics are like this
217218
if this.inner().strong.compare_and_swap(1, 0, Release) != 1 { return Err(this) }
@@ -237,13 +238,14 @@ impl<T: ?Sized> Arc<T> {
237238
/// # Examples
238239
///
239240
/// ```
241+
/// #![feature(arc_weak)]
240242
/// use std::sync::Arc;
241243
///
242244
/// let five = Arc::new(5);
243245
///
244246
/// let weak_five = Arc::downgrade(&five);
245247
/// ```
246-
#[stable(feature = "arc_weak", since = "1.4.0")]
248+
#[unstable(feature = "arc_weak", reason = "needs FCP", issue = "27718")]
247249
pub fn downgrade(this: &Self) -> Weak<T> {
248250
loop {
249251
// This Relaxed is OK because we're checking the value in the CAS
@@ -268,16 +270,14 @@ impl<T: ?Sized> Arc<T> {
268270

269271
/// Get the number of weak references to this value.
270272
#[inline]
271-
#[unstable(feature = "arc_counts", reason = "not clearly useful, and racy",
272-
issue = "28356")]
273+
#[unstable(feature = "arc_counts", reason = "not clearly useful, and racy", issue = "27718")]
273274
pub fn weak_count(this: &Self) -> usize {
274275
this.inner().weak.load(SeqCst) - 1
275276
}
276277

277278
/// Get the number of strong references to this value.
278279
#[inline]
279-
#[unstable(feature = "arc_counts", reason = "not clearly useful, and racy",
280-
issue = "28356")]
280+
#[unstable(feature = "arc_counts", reason = "not clearly useful, and racy", issue = "27718")]
281281
pub fn strong_count(this: &Self) -> usize {
282282
this.inner().strong.load(SeqCst)
283283
}
@@ -366,8 +366,7 @@ impl<T: ?Sized> Deref for Arc<T> {
366366
}
367367

368368
impl<T: Clone> Arc<T> {
369-
#[unstable(feature = "arc_make_unique", reason = "renamed to Arc::make_mut",
370-
issue = "27718")]
369+
#[unstable(feature = "arc_unique", reason = "renamed to Arc::make_mut", issue = "27718")]
371370
#[deprecated(since = "1.4.0", reason = "renamed to Arc::make_mut")]
372371
pub fn make_unique(this: &mut Self) -> &mut T {
373372
Arc::make_mut(this)
@@ -382,6 +381,7 @@ impl<T: Clone> Arc<T> {
382381
/// # Examples
383382
///
384383
/// ```
384+
/// #![feature(arc_unique)]
385385
/// use std::sync::Arc;
386386
///
387387
/// let mut data = Arc::new(5);
@@ -398,7 +398,7 @@ impl<T: Clone> Arc<T> {
398398
///
399399
/// ```
400400
#[inline]
401-
#[stable(feature = "arc_unique", since = "1.4.0")]
401+
#[unstable(feature = "arc_unique", reason = "needs FCP", issue = "27718")]
402402
pub fn make_mut(this: &mut Self) -> &mut T {
403403
// Note that we hold both a strong reference and a weak reference.
404404
// Thus, releasing our strong reference only will not, by itself, cause
@@ -460,6 +460,7 @@ impl<T: ?Sized> Arc<T> {
460460
/// # Examples
461461
///
462462
/// ```
463+
/// #![feature(arc_unique)]
463464
/// use std::sync::Arc;
464465
///
465466
/// let mut x = Arc::new(3);
@@ -470,7 +471,7 @@ impl<T: ?Sized> Arc<T> {
470471
/// assert!(Arc::get_mut(&mut x).is_none());
471472
/// ```
472473
#[inline]
473-
#[stable(feature = "arc_unique", since = "1.4.0")]
474+
#[unstable(feature = "arc_unique", reason = "needs FCP", issue = "27718")]
474475
pub fn get_mut(this: &mut Self) -> Option<&mut T> {
475476
if this.is_unique() {
476477
// This unsafety is ok because we're guaranteed that the pointer
@@ -594,6 +595,7 @@ impl<T: ?Sized> Weak<T> {
594595
/// # Examples
595596
///
596597
/// ```
598+
/// #![feature(arc_weak)]
597599
/// use std::sync::Arc;
598600
///
599601
/// let five = Arc::new(5);
@@ -602,7 +604,7 @@ impl<T: ?Sized> Weak<T> {
602604
///
603605
/// let strong_five: Option<Arc<_>> = weak_five.upgrade();
604606
/// ```
605-
#[stable(feature = "arc_weak", since = "1.4.0")]
607+
#[unstable(feature = "arc_weak", reason = "needs FCP", issue = "27718")]
606608
pub fn upgrade(&self) -> Option<Arc<T>> {
607609
// We use a CAS loop to increment the strong count instead of a
608610
// fetch_add because once the count hits 0 it must never be above 0.
@@ -628,7 +630,7 @@ impl<T: ?Sized> Weak<T> {
628630
}
629631
}
630632

631-
#[stable(feature = "arc_weak", since = "1.4.0")]
633+
#[unstable(feature = "arc_weak", reason = "needs FCP", issue = "27718")]
632634
impl<T: ?Sized> Clone for Weak<T> {
633635
/// Makes a clone of the `Weak<T>`.
634636
///
@@ -637,6 +639,7 @@ impl<T: ?Sized> Clone for Weak<T> {
637639
/// # Examples
638640
///
639641
/// ```
642+
/// #![feature(arc_weak)]
640643
/// use std::sync::Arc;
641644
///
642645
/// let weak_five = Arc::downgrade(&Arc::new(5));
@@ -669,6 +672,7 @@ impl<T: ?Sized> Drop for Weak<T> {
669672
/// # Examples
670673
///
671674
/// ```
675+
/// #![feature(arc_weak)]
672676
/// use std::sync::Arc;
673677
///
674678
/// {

branches/beta/src/liballoc/boxed.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,11 @@ impl<T : ?Sized> Box<T> {
226226
/// Function is unsafe, because improper use of this function may
227227
/// lead to memory problems like double-free, for example if the
228228
/// function is called twice on the same raw pointer.
229-
#[stable(feature = "box_raw", since = "1.4.0")]
229+
#[unstable(feature = "box_raw",
230+
reason = "may be renamed or moved out of Box scope",
231+
issue = "27768")]
230232
#[inline]
233+
// NB: may want to be called from_ptr, see comments on CStr::from_ptr
231234
pub unsafe fn from_raw(raw: *mut T) -> Self {
232235
mem::transmute(raw)
233236
}
@@ -241,14 +244,17 @@ impl<T : ?Sized> Box<T> {
241244
/// `Box` does not specify, how memory is allocated.
242245
///
243246
/// # Examples
244-
///
245247
/// ```
248+
/// #![feature(box_raw)]
249+
///
246250
/// let seventeen = Box::new(17u32);
247251
/// let raw = Box::into_raw(seventeen);
248252
/// let boxed_again = unsafe { Box::from_raw(raw) };
249253
/// ```
250-
#[stable(feature = "box_raw", since = "1.4.0")]
254+
#[unstable(feature = "box_raw", reason = "may be renamed",
255+
issue = "27768")]
251256
#[inline]
257+
// NB: may want to be called into_ptr, see comments on CStr::from_ptr
252258
pub fn into_raw(b: Box<T>) -> *mut T {
253259
unsafe { mem::transmute(b) }
254260
}
@@ -283,6 +289,8 @@ impl<T: Clone> Clone for Box<T> {
283289
/// # Examples
284290
///
285291
/// ```
292+
/// #![feature(box_raw)]
293+
///
286294
/// let x = Box::new(5);
287295
/// let mut y = Box::new(10);
288296
///

branches/beta/src/liballoc/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
#![cfg_attr(stage0, feature(alloc_system))]
101101
#![cfg_attr(not(stage0), feature(needs_allocator))]
102102

103-
#![cfg_attr(test, feature(test, rustc_private))]
103+
#![cfg_attr(test, feature(test, rustc_private, box_raw))]
104104

105105
#[cfg(stage0)]
106106
extern crate alloc_system;

0 commit comments

Comments
 (0)