Auto merge of #30897 - Manishearth:rollup, r=Manishearth

- Successful merges: #30821, #30869, #30871, #30874, #30879, #30886, #30892
- Failed merges: #30864
This commit is contained in:
bors 2016-01-14 13:42:59 +00:00
commit 02fbf31fb2
12 changed files with 56 additions and 52 deletions

View File

@ -8,7 +8,7 @@ CFG_STATIC_LIB_NAME_x86_64-unknown-bitrig=lib$(1).a
CFG_LIB_GLOB_x86_64-unknown-bitrig=lib$(1)-*.so
CFG_LIB_DSYM_GLOB_x86_64-unknown-bitrig=$(1)-*.dylib.dSYM
CFG_JEMALLOC_CFLAGS_x86_64-unknown-bitrig := -m64 -I/usr/include $(CFLAGS)
CFG_GCCISH_CFLAGS_x86_64-unknown-bitrig := -Wall -Werror -fPIC -m64 -I/usr/include $(CFLAGS)
CFG_GCCISH_CFLAGS_x86_64-unknown-bitrig := -Wall -Werror -fPIE -fPIC -m64 -I/usr/include $(CFLAGS)
CFG_GCCISH_LINK_FLAGS_x86_64-unknown-bitrig := -shared -pic -pthread -m64 $(LDFLAGS)
CFG_GCCISH_DEF_FLAG_x86_64-unknown-bitrig := -Wl,--export-dynamic,--dynamic-list=
CFG_LLC_FLAGS_x86_64-unknown-bitrig :=

View File

@ -33,7 +33,7 @@ Rust, as well as publications about Rust.
* [Non-blocking steal-half work queues](http://www.cs.bgu.ac.il/%7Ehendlerd/papers/p280-hendler.pdf)
* [Reagents: expressing and composing fine-grained concurrency](http://www.mpi-sws.org/~turon/reagents.pdf)
* [Algorithms for scalable synchronization of shared-memory multiprocessors](https://www.cs.rochester.edu/u/scott/papers/1991_TOCS_synch.pdf)
* [Epoc-based reclamation](https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-579.pdf).
* [Epoch-based reclamation](https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-579.pdf).
### Others

View File

@ -41,8 +41,8 @@ unsafe impl Scary for i32 {}
```
Its important to be able to explicitly delineate code that may have bugs that
cause big problems. If a Rust program segfaults, you can be sure its somewhere
in the sections marked `unsafe`.
cause big problems. If a Rust program segfaults, you can be sure the cause is
related to something marked `unsafe`.
# What does safe mean?

View File

@ -3677,10 +3677,10 @@ sites are:
* `let` statements where an explicit type is given.
For example, `128` is coerced to have type `i8` in the following:
For example, `42` is coerced to have type `i8` in the following:
```rust
let _: i8 = 128;
let _: i8 = 42;
```
* `static` and `const` statements (similar to `let` statements).
@ -3690,36 +3690,36 @@ sites are:
The value being coerced is the actual parameter, and it is coerced to
the type of the formal parameter.
For example, `128` is coerced to have type `i8` in the following:
For example, `42` is coerced to have type `i8` in the following:
```rust
fn bar(_: i8) { }
fn main() {
bar(128);
bar(42);
}
```
* Instantiations of struct or variant fields
For example, `128` is coerced to have type `i8` in the following:
For example, `42` is coerced to have type `i8` in the following:
```rust
struct Foo { x: i8 }
fn main() {
Foo { x: 128 };
Foo { x: 42 };
}
```
* Function results, either the final line of a block if it is not
semicolon-terminated or any expression in a `return` statement
For example, `128` is coerced to have type `i8` in the following:
For example, `42` is coerced to have type `i8` in the following:
```rust
fn foo() -> i8 {
128
42
}
```

View File

@ -237,17 +237,17 @@ impl<T> Box<T> {
}
impl<T: ?Sized> Box<T> {
/// Constructs a box from the raw pointer.
/// Constructs a box from a raw pointer.
///
/// After this function call, pointer is owned by resulting box.
/// In particular, it means that `Box` destructor calls destructor
/// of `T` and releases memory. Since the way `Box` allocates and
/// releases memory is unspecified, the only valid pointer to pass
/// to this function is the one taken from another `Box` with
/// `Box::into_raw` function.
/// After calling this function, the raw pointer is owned by the
/// resulting `Box`. Specifically, the `Box` destructor will call
/// the destructor of `T` and free the allocated memory. Since the
/// way `Box` allocates and releases memory is unspecified, the
/// only valid pointer to pass to this function is the one taken
/// from another `Box` via the `Box::into_raw` function.
///
/// Function is unsafe, because improper use of this function may
/// lead to memory problems like double-free, for example if the
/// This function is unsafe because improper use may lead to
/// memory problems. For example, a double-free may occur if the
/// function is called twice on the same raw pointer.
#[stable(feature = "box_raw", since = "1.4.0")]
#[inline]
@ -257,11 +257,11 @@ impl<T: ?Sized> Box<T> {
/// Consumes the `Box`, returning the wrapped raw pointer.
///
/// After call to this function, caller is responsible for the memory
/// previously managed by `Box`, in particular caller should properly
/// destroy `T` and release memory. The proper way to do it is to
/// convert pointer back to `Box` with `Box::from_raw` function, because
/// `Box` does not specify, how memory is allocated.
/// After calling this function, the caller is responsible for the
/// memory previously managed by the `Box`. In particular, the
/// caller should properly destroy `T` and release the memory. The
/// proper way to do so is to convert the raw pointer back into a
/// `Box` with the `Box::from_raw` function.
///
/// # Examples
///

View File

@ -10,7 +10,7 @@
//! Collection types.
//!
//! See [std::collections](../std/collections) for a detailed discussion of
//! See [std::collections](../std/collections/index.html) for a detailed discussion of
//! collections in Rust.
#![crate_name = "collections"]

View File

@ -8,8 +8,9 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![unstable(feature = "collections_range", reason = "was just added",
issue = "27711")]
#![unstable(feature = "collections_range",
reason = "waiting for dust to settle on inclusive ranges",
issue = "30877")]
//! Range syntax.

View File

@ -1384,7 +1384,7 @@ impl str {
///
/// For iterating from the front, the [`matches()`] method can be used.
///
/// [`matches`]: #method.matches
/// [`matches()`]: #method.matches
///
/// # Examples
///

View File

@ -98,6 +98,7 @@ use boxed::Box;
/// hello.push_str("orld!");
/// ```
///
/// [`char`]: ../primitive.char.html
/// [`push()`]: #method.push
/// [`push_str()`]: #method.push_str
///
@ -199,8 +200,8 @@ use boxed::Box;
/// ```
///
/// [`as_ptr()`]: #method.as_ptr
/// [`len()`]: # method.len
/// [`capacity()`]: # method.capacity
/// [`len()`]: #method.len
/// [`capacity()`]: #method.capacity
///
/// If a `String` has enough capacity, adding elements to it will not
/// re-allocate. For example, consider this program:
@ -480,7 +481,7 @@ impl String {
/// Converts a slice of bytes to a `String`, including invalid characters.
///
/// A string slice ([`&str`]) is made of bytes ([`u8`]), and a slice of
/// bytes ([`&[u8]`]) is made of bytes, so this function converts between
/// bytes ([`&[u8]`][byteslice]) is made of bytes, so this function converts between
/// the two. Not all byte slices are valid string slices, however: [`&str`]
/// requires that it is valid UTF-8. During this conversion,
/// `from_utf8_lossy()` will replace any invalid UTF-8 sequences with
@ -488,7 +489,7 @@ impl String {
///
/// [`&str`]: ../primitive.str.html
/// [`u8`]: ../primitive.u8.html
/// [`&[u8]`]: ../primitive.slice.html
/// [byteslice]: ../primitive.slice.html
///
/// If you are sure that the byte slice is valid UTF-8, and you don't want
/// to incur the overhead of the conversion, there is an unsafe version
@ -1347,6 +1348,8 @@ impl FromUtf8Error {
///
/// [`Utf8Error`]: ../str/struct.Utf8Error.html
/// [`std::str`]: ../str/index.html
/// [`u8`]: ../primitive.u8.html
/// [`&str`]: ../primitive.str.html
///
/// # Examples
///

View File

@ -1358,7 +1358,7 @@ pub trait Iterator {
/// One of the keys to `collect()`'s power is that many things you might
/// not think of as 'collections' actually are. For example, a [`String`]
/// is a collection of [`char`]s. And a collection of [`Result<T, E>`] can
/// be thought of as single [`Result<Collection<T>, E>`]. See the examples
/// be thought of as single `Result<Collection<T>, E>`. See the examples
/// below for more.
///
/// [`String`]: ../string/struct.String.html

View File

@ -46,8 +46,8 @@ pub use tables::UNICODE_VERSION;
/// This `struct` is created by the [`to_lowercase()`] method on [`char`]. See
/// its documentation for more.
///
/// [`to_lowercase()`]: primitive.char.html#method.escape_to_lowercase
/// [`char`]: primitive.char.html
/// [`to_lowercase()`]: ../primitive.char.html#method.to_lowercase
/// [`char`]: ../primitive.char.html
#[stable(feature = "rust1", since = "1.0.0")]
pub struct ToLowercase(CaseMappingIter);
@ -64,8 +64,8 @@ impl Iterator for ToLowercase {
/// This `struct` is created by the [`to_uppercase()`] method on [`char`]. See
/// its documentation for more.
///
/// [`to_uppercase()`]: primitive.char.html#method.escape_to_uppercase
/// [`char`]: primitive.char.html
/// [`to_uppercase()`]: ../primitive.char.html#method.to_uppercase
/// [`char`]: ../primitive.char.html
#[stable(feature = "rust1", since = "1.0.0")]
pub struct ToUppercase(CaseMappingIter);

View File

@ -112,7 +112,7 @@
//! ```
//!
//! `BufWriter` doesn't add any new ways of writing; it just buffers every call
//! to [`write()`][write]:
//! to [`write()`][write()]:
//!
//! ```
//! use std::io;
@ -134,7 +134,7 @@
//! # }
//! ```
//!
//! [write]: trait.Write.html#tymethod.write
//! [write()]: trait.Write.html#tymethod.write
//!
//! ## Standard input and output
//!
@ -399,7 +399,7 @@ fn read_to_end<R: Read + ?Sized>(r: &mut R, buf: &mut Vec<u8>) -> Result<usize>
///
/// [`File`][file]s implement `Read`:
///
/// [file]: ../std/fs/struct.File.html
/// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
@ -459,7 +459,7 @@ pub trait Read {
///
/// [`File`][file]s implement `Read`:
///
/// [file]: ../std/fs/struct.File.html
/// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
@ -501,7 +501,7 @@ pub trait Read {
///
/// [`File`][file]s implement `Read`:
///
/// [file]: ../std/fs/struct.File.html
/// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
@ -540,7 +540,7 @@ pub trait Read {
///
/// [`File`][file]s implement `Read`:
///
/// [file]: ../std/fs/struct.File.html
/// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
@ -600,7 +600,7 @@ pub trait Read {
///
/// [`File`][file]s implement `Read`:
///
/// [file]: ../std/fs/struct.File.html
/// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
@ -643,7 +643,7 @@ pub trait Read {
///
/// [`File`][file]s implement `Read`:
///
/// [file]: ../std/fs/struct.File.html
/// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
@ -682,7 +682,7 @@ pub trait Read {
///
/// [`File`][file]s implement `Read`:
///
/// [file]: ../std/fs/struct.File.html
/// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
@ -718,7 +718,7 @@ pub trait Read {
///
/// [`File`][file]s implement `Read`:
///
/// [file]: ../std/fs/struct.File.html
/// [file]: ../fs/struct.File.html
///
/// ```
/// #![feature(io)]
@ -753,7 +753,7 @@ pub trait Read {
///
/// [`File`][file]s implement `Read`:
///
/// [file]: ../std/fs/struct.File.html
/// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
@ -789,7 +789,7 @@ pub trait Read {
///
/// [`File`][file]s implement `Read`:
///
/// [file]: ../std/fs/struct.File.html
/// [file]: ../fs/struct.File.html
///
/// ```
/// use std::io;
@ -823,7 +823,7 @@ pub trait Read {
///
/// [`File`][file]s implement `Read`:
///
/// [file]: ../std/fs/struct.File.html
/// [file]: ../fs/struct.File.html
///
/// ```
/// #![feature(io)]