Skip to content

Commit b210aea

Browse files
committed
Auto merge of #25218 - Manishearth:rollup, r=Manishearth
- Successful merges: #24864, #25140, #25179, #25181, #25190, #25194, #25195, #25198, #25203, #25210, #25211, #25215 - Failed merges: #25200
2 parents 7132092 + 55437b4 commit b210aea

File tree

15 files changed

+83
-37
lines changed

15 files changed

+83
-37
lines changed

AUTHORS.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,7 @@ Luke Francl <[email protected]>
518518
Luke Metz <[email protected]>
519519
Luke Steensen <[email protected]>
520520
Luqman Aden <[email protected]>
521+
Łukasz Niemier <[email protected]>
521522
Magnus Auvinen <[email protected]>
522523
Mahmut Bulut <[email protected]>
523524
Makoto Nakashima <[email protected]>
@@ -997,5 +998,4 @@ xales <[email protected]>
997998
998999
9991000
1000-
Łukasz Niemier <[email protected]>
10011001

configure

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ then
844844
CFG_OSX_GCC_VERSION=$("$CFG_GCC" --version 2>&1 | grep "Apple LLVM version")
845845
if [ $? -eq 0 ]
846846
then
847-
step_msg "on OS X 10.9, forcing use of clang"
847+
step_msg "on OS X >=10.9, forcing use of clang"
848848
CFG_ENABLE_CLANG=1
849849
else
850850
if [ $("$CFG_GCC" --version 2>&1 | grep -c ' 4\.[0-6]') -ne 0 ]; then

src/doc/trpl/guessing-game.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -358,11 +358,10 @@ rand="0.3.0"
358358
The `[dependencies]` section of `Cargo.toml` is like the `[package]` section:
359359
everything that follows it is part of it, until the next section starts.
360360
Cargo uses the dependencies section to know what dependencies on external
361-
crates you have, and what versions you require. In this case, we’ve used `*`,
362-
which means that we’ll use the latest version of `rand`. Cargo understands
363-
[Semantic Versioning][semver], which is a standard for writing version
364-
numbers. If we wanted a specific version or range of versions, we could be
365-
more specific here. [Cargo’s documentation][cargodoc] contains more details.
361+
crates you have, and what versions you require. In this case, we’ve used version `0.3.0`.
362+
Cargo understands [Semantic Versioning][semver], which is a standard for writing version
363+
numbers. If we wanted to use the latest version we could use `*` or we could use a range
364+
of versions. [Cargo’s documentation][cargodoc] contains more details.
366365

367366
[semver]: http://semver.org
368367
[cargodoc]: http://doc.crates.io/crates-io.html
@@ -410,7 +409,7 @@ $ cargo build
410409
Compiling guessing_game v0.1.0 (file:///home/you/projects/guessing_game)
411410
```
412411

413-
So, we told Cargo we wanted any version of `rand`, and so it fetched the latest
412+
So, we told Cargo we wanted any `0.3.x` version of `rand`, and so it fetched the latest
414413
version at the time this was written, `v0.3.8`. But what happens when next
415414
week, version `v0.3.9` comes out, with an important bugfix? While getting
416415
bugfixes is important, what if `0.3.9` contains a regression that breaks our

src/doc/trpl/lifetimes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ fn main() {
116116
}
117117
```
118118

119-
[struct]: structs.html
119+
[structs]: structs.html
120120

121121
As you can see, `struct`s can also have lifetimes. In a similar way to functions,
122122

src/doc/trpl/method-syntax.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ struct CircleBuilder {
188188
189189
impl CircleBuilder {
190190
fn new() -> CircleBuilder {
191-
CircleBuilder { x: 0.0, y: 0.0, radius: 0.0, }
191+
CircleBuilder { x: 0.0, y: 0.0, radius: 1.0, }
192192
}
193193
194194
fn x(&mut self, coordinate: f64) -> &mut CircleBuilder {

src/doc/trpl/mutability.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ safety, and the mechanism by which Rust guarantees it, the
8585
> You may have one or the other of these two kinds of borrows, but not both at
8686
> the same time:
8787
>
88-
> * 0 to N references (`&T`) to a resource.
88+
> * one or more references (`&T`) to a resource.
8989
> * exactly one mutable reference (`&mut T`)
9090
9191
[ownership]: ownership.html

src/doc/trpl/ownership.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
This guide is one of three presenting Rust’s ownership system. This is one of
44
Rust’s most unique and compelling features, with which Rust developers should
55
become quite acquainted. Ownership is how Rust achieves its largest goal,
6-
memory safety. The there are a few distinct concepts, each with its own
6+
memory safety. There are a few distinct concepts, each with its own
77
chapter:
88

99
* ownership, which you’re reading now.
@@ -59,6 +59,7 @@ deterministically, at the end of the scope.
5959

6060
[vect]: ../std/vec/struct.Vec.html
6161
[heap]: the-stack-and-the-heap.html
62+
[bindings]: variable-bindings.html
6263

6364
# Move semantics
6465

@@ -122,7 +123,7 @@ let v2 = v;
122123

123124
The first line creates some data for the vector on the [stack][sh], `v`. The
124125
vector’s data, however, is stored on the [heap][sh], and so it contains a
125-
pointer to that data. When we move `v` to `v2`, it creates a copy of that data,
126+
pointer to that data. When we move `v` to `v2`, it creates a copy of that pointer,
126127
for `v2`. Which would mean two pointers to the contents of the vector on the
127128
heap. That would be a problem: it would violate Rust’s safety guarantees by
128129
introducing a data race. Therefore, Rust forbids using `v` after we’ve done the

src/doc/trpl/references-and-borrowing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
This guide is one of three presenting Rust’s ownership system. This is one of
44
Rust’s most unique and compelling features, with which Rust developers should
55
become quite acquainted. Ownership is how Rust achieves its largest goal,
6-
memory safety. The there are a few distinct concepts, each with its own
6+
memory safety. There are a few distinct concepts, each with its own
77
chapter:
88

99
* [ownership][ownership], ownership, the key concept

src/doc/trpl/traits.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ Here’s the error:
192192
```text
193193
error: type `std::fs::File` does not implement any method in scope named `write`
194194
195-
let result = f.write(bwhatever);
195+
let result = f.write(b"whatever");
196196
^~~~~~~~~~~~~~~~~~
197197
```
198198

src/libcore/iter.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ pub trait Iterator {
137137
///
138138
/// ```
139139
/// let a = [1, 2, 3, 4, 5];
140-
/// assert!(a.iter().last().unwrap() == &5);
140+
/// assert_eq!(a.iter().last().unwrap(), &5);
141141
/// ```
142142
#[inline]
143143
#[stable(feature = "rust1", since = "1.0.0")]
@@ -155,8 +155,8 @@ pub trait Iterator {
155155
/// ```
156156
/// let a = [1, 2, 3, 4, 5];
157157
/// let mut it = a.iter();
158-
/// assert!(it.nth(2).unwrap() == &3);
159-
/// assert!(it.nth(2) == None);
158+
/// assert_eq!(it.nth(2).unwrap(), &3);
159+
/// assert_eq!(it.nth(2), None);
160160
/// ```
161161
#[inline]
162162
#[stable(feature = "rust1", since = "1.0.0")]
@@ -545,8 +545,8 @@ pub trait Iterator {
545545
/// let mut it = 0..10;
546546
/// // sum the first five values
547547
/// let partial_sum = it.by_ref().take(5).fold(0, |a, b| a + b);
548-
/// assert!(partial_sum == 10);
549-
/// assert!(it.next() == Some(5));
548+
/// assert_eq!(partial_sum, 10);
549+
/// assert_eq!(it.next(), Some(5));
550550
/// ```
551551
#[stable(feature = "rust1", since = "1.0.0")]
552552
fn by_ref(&mut self) -> &mut Self where Self: Sized { self }
@@ -608,7 +608,7 @@ pub trait Iterator {
608608
///
609609
/// ```
610610
/// let a = [1, 2, 3, 4, 5];
611-
/// assert!(a.iter().fold(0, |acc, &item| acc + item) == 15);
611+
/// assert_eq!(a.iter().fold(0, |acc, &item| acc + item), 15);
612612
/// ```
613613
#[inline]
614614
#[stable(feature = "rust1", since = "1.0.0")]
@@ -773,7 +773,7 @@ pub trait Iterator {
773773
///
774774
/// ```
775775
/// let a = [1, 2, 3, 4, 5];
776-
/// assert!(a.iter().max().unwrap() == &5);
776+
/// assert_eq!(a.iter().max().unwrap(), &5);
777777
/// ```
778778
#[inline]
779779
#[stable(feature = "rust1", since = "1.0.0")]
@@ -796,7 +796,7 @@ pub trait Iterator {
796796
///
797797
/// ```
798798
/// let a = [1, 2, 3, 4, 5];
799-
/// assert!(a.iter().min().unwrap() == &1);
799+
/// assert_eq!(a.iter().min().unwrap(), &1);
800800
/// ```
801801
#[inline]
802802
#[stable(feature = "rust1", since = "1.0.0")]
@@ -834,13 +834,13 @@ pub trait Iterator {
834834
/// assert_eq!(a.iter().min_max(), NoElements);
835835
///
836836
/// let a = [1];
837-
/// assert!(a.iter().min_max() == OneElement(&1));
837+
/// assert_eq!(a.iter().min_max(), OneElement(&1));
838838
///
839839
/// let a = [1, 2, 3, 4, 5];
840-
/// assert!(a.iter().min_max() == MinMax(&1, &5));
840+
/// assert_eq!(a.iter().min_max(), MinMax(&1, &5));
841841
///
842842
/// let a = [1, 1, 1, 1];
843-
/// assert!(a.iter().min_max() == MinMax(&1, &1));
843+
/// assert_eq!(a.iter().min_max(), MinMax(&1, &1));
844844
/// ```
845845
#[unstable(feature = "core", reason = "return type may change")]
846846
fn min_max(mut self) -> MinMaxResult<Self::Item> where Self: Sized, Self::Item: Ord
@@ -1058,7 +1058,7 @@ pub trait Iterator {
10581058
///
10591059
/// let a = [1, 2, 3, 4, 5];
10601060
/// let mut it = a.iter().cloned();
1061-
/// assert!(it.sum::<i32>() == 15);
1061+
/// assert_eq!(it.sum::<i32>(), 15);
10621062
/// ```
10631063
#[unstable(feature="core")]
10641064
fn sum<S=<Self as Iterator>::Item>(self) -> S where
@@ -1078,9 +1078,9 @@ pub trait Iterator {
10781078
/// fn factorial(n: u32) -> u32 {
10791079
/// (1..).take_while(|&i| i <= n).product()
10801080
/// }
1081-
/// assert!(factorial(0) == 1);
1082-
/// assert!(factorial(1) == 1);
1083-
/// assert!(factorial(5) == 120);
1081+
/// assert_eq!(factorial(0), 1);
1082+
/// assert_eq!(factorial(1), 1);
1083+
/// assert_eq!(factorial(5), 120);
10841084
/// ```
10851085
#[unstable(feature="core")]
10861086
fn product<P=<Self as Iterator>::Item>(self) -> P where

src/libcore/marker.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ macro_rules! impls{
313313
/// mismatches by enforcing types in the method implementations:
314314
///
315315
/// ```
316-
/// # trait ResType { fn foo(&self); };
316+
/// # trait ResType { fn foo(&self); }
317317
/// # struct ParamType;
318318
/// # mod foreign_lib {
319319
/// # pub fn new(_: usize) -> *mut () { 42 as *mut () }

src/liblibc/lib.rs

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
#![cfg_attr(stage0, feature(custom_attribute))]
1313
#![crate_name = "libc"]
1414
#![crate_type = "rlib"]
15-
#![cfg_attr(not(feature = "cargo-build"), unstable(feature = "libc"))]
15+
#![cfg_attr(not(feature = "cargo-build"), unstable(feature = "libc",
16+
reason = "use `libc` from crates.io"))]
1617
#![cfg_attr(not(feature = "cargo-build"), feature(staged_api, core, no_std))]
1718
#![cfg_attr(not(feature = "cargo-build"), staged_api)]
1819
#![cfg_attr(not(feature = "cargo-build"), no_std)]
@@ -3624,6 +3625,30 @@ pub mod consts {
36243625
pub const IPV6_DROP_MEMBERSHIP: c_int = 21;
36253626

36263627
pub const TCP_NODELAY: c_int = 1;
3628+
pub const TCP_MAXSEG: c_int = 2;
3629+
pub const TCP_CORK: c_int = 3;
3630+
pub const TCP_KEEPIDLE: c_int = 4;
3631+
pub const TCP_KEEPINTVL: c_int = 5;
3632+
pub const TCP_KEEPCNT: c_int = 6;
3633+
pub const TCP_SYNCNT: c_int = 7;
3634+
pub const TCP_LINGER2: c_int = 8;
3635+
pub const TCP_DEFER_ACCEPT: c_int = 9;
3636+
pub const TCP_WINDOW_CLAMP: c_int = 10;
3637+
pub const TCP_INFO: c_int = 11;
3638+
pub const TCP_QUICKACK: c_int = 12;
3639+
pub const TCP_CONGESTION: c_int = 13;
3640+
pub const TCP_MD5SIG: c_int = 14;
3641+
pub const TCP_COOKIE_TRANSACTIONS: c_int = 15;
3642+
pub const TCP_THIN_LINEAR_TIMEOUTS: c_int = 16;
3643+
pub const TCP_THIN_DUPACK: c_int = 17;
3644+
pub const TCP_USER_TIMEOUT: c_int = 18;
3645+
pub const TCP_REPAIR: c_int = 19;
3646+
pub const TCP_REPAIR_QUEUE: c_int = 20;
3647+
pub const TCP_QUEUE_SEQ: c_int = 21;
3648+
pub const TCP_REPAIR_OPTIONS: c_int = 22;
3649+
pub const TCP_FASTOPEN: c_int = 23;
3650+
pub const TCP_TIMESTAMP: c_int = 24;
3651+
36273652
pub const SOL_SOCKET: c_int = 65535;
36283653

36293654
pub const SO_DEBUG: c_int = 0x0001;

src/librand/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
html_playground_url = "http://play.rust-lang.org/")]
2727
#![no_std]
2828
#![staged_api]
29-
#![unstable(feature = "rand")]
29+
#![unstable(feature = "rand",
30+
reason = "use `rand` from crates.io")]
3031
#![feature(core)]
3132
#![feature(no_std)]
3233
#![feature(staged_api)]

src/librustc_typeck/diagnostics.rs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,28 @@
1212

1313
register_long_diagnostics! {
1414

15+
E0046: r##"
16+
When trying to make some type implement a trait `Foo`, you must, at minimum,
17+
provide implementations for all of `Foo`'s required methods (meaning the
18+
methods that do not have default implementations), as well as any required
19+
trait items like associated types or constants.
20+
"##,
21+
22+
E0054: r##"
23+
It is not allowed to cast to a bool. If you are trying to cast a numeric type
24+
to a bool, you can compare it with zero instead:
25+
26+
```
27+
let x = 5;
28+
29+
// Ok
30+
let x_is_nonzero = x != 0;
31+
32+
// Not allowed, won't compile
33+
let x_is_nonzero = x as bool;
34+
```
35+
"##,
36+
1537
E0081: r##"
1638
Enum discriminants are used to differentiate enum variants stored in memory.
1739
This error indicates that the same value was used for two or more variants,
@@ -106,11 +128,9 @@ register_diagnostics! {
106128
E0040, // explicit use of destructor method
107129
E0044,
108130
E0045,
109-
E0046,
110131
E0049,
111132
E0050,
112133
E0053,
113-
E0054,
114134
E0055,
115135
E0057,
116136
E0059,

src/libstd/os/linux/raw.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ mod arch {
6060
#[cfg(any(target_arch = "mips",
6161
target_arch = "mipsel"))]
6262
mod arch {
63-
use super::{dev_t, mode_t};
64-
use os::raw::c_long;
63+
use super::mode_t;
64+
use os::raw::{c_long, c_ulong};
6565
use os::unix::raw::{gid_t, uid_t};
6666

6767
pub type blkcnt_t = i32;

0 commit comments

Comments
 (0)