Skip to content

Commit 04d839c

Browse files
committed
---
yaml --- r: 232799 b: refs/heads/try c: c5ab116 h: refs/heads/master i: 232797: a814a90 232795: 520a1ec 232791: 3462380 232783: fc568e9 232767: 1d772f6 v: v3
1 parent 9c54ee1 commit 04d839c

File tree

26 files changed

+158
-467
lines changed

26 files changed

+158
-467
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: edeb4f1c86cbf6af8ef9874d4b3af50f721ea1b8
33
refs/heads/snap-stage3: 1af31d4974e33027a68126fa5a5a3c2c6491824f
4-
refs/heads/try: 3a804114158dbde947cd9fffc2ad28be9c1dd14c
4+
refs/heads/try: c5ab1166e7869dd8188beba435c8557b221db93b
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
66
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
77
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try/src/doc/trpl/testing.md

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -120,26 +120,13 @@ And that's reflected in the summary line:
120120
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured
121121
```
122122

123-
We also get a non-zero status code. We can use `$?` on OS X and Linux:
123+
We also get a non-zero status code:
124124

125125
```bash
126126
$ echo $?
127127
101
128128
```
129129

130-
On Windows, if you’re using `cmd`:
131-
132-
```bash
133-
> echo %ERRORLEVEL%
134-
```
135-
136-
And if you’re using PowerShell:
137-
138-
```bash
139-
> echo $LASTEXITCODE # the code itself
140-
> echo $? # a boolean, fail or succeed
141-
```
142-
143130
This is useful if you want to integrate `cargo test` into other tooling.
144131

145132
We can invert our test's failure with another attribute: `should_panic`:

branches/try/src/libcollections/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ mod std {
113113
}
114114

115115
/// An endpoint of a range of keys.
116-
#[unstable(feature = "collections_bound", issue = "27787")]
116+
#[unstable(feature = "collections_bound", issue = "27711")]
117117
#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)]
118118
pub enum Bound<T> {
119119
/// An inclusive bound.

branches/try/src/libcollections/string.rs

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -734,8 +734,7 @@ impl String {
734734
///
735735
/// Note that this will drop any excess capacity.
736736
#[unstable(feature = "box_str",
737-
reason = "recently added, matches RFC",
738-
issue = "27785")]
737+
reason = "recently added, matches RFC")]
739738
#[deprecated(since = "1.4.0", reason = "renamed to `into_boxed_str`")]
740739
pub fn into_boxed_slice(self) -> Box<str> {
741740
self.into_boxed_str()
@@ -769,27 +768,18 @@ impl fmt::Display for FromUtf16Error {
769768

770769
#[stable(feature = "rust1", since = "1.0.0")]
771770
impl FromIterator<char> for String {
772-
fn from_iter<I: IntoIterator<Item=char>>(iterable: I) -> String {
771+
fn from_iter<I: IntoIterator<Item=char>>(iter: I) -> String {
773772
let mut buf = String::new();
774-
buf.extend(iterable);
773+
buf.extend(iter);
775774
buf
776775
}
777776
}
778777

779778
#[stable(feature = "rust1", since = "1.0.0")]
780779
impl<'a> FromIterator<&'a str> for String {
781-
fn from_iter<I: IntoIterator<Item=&'a str>>(iterable: I) -> String {
782-
let mut buf = String::new();
783-
buf.extend(iterable);
784-
buf
785-
}
786-
}
787-
788-
#[stable(feature = "extend_string", since = "1.4.0")]
789-
impl FromIterator<String> for String {
790-
fn from_iter<I: IntoIterator<Item=String>>(iterable: I) -> String {
780+
fn from_iter<I: IntoIterator<Item=&'a str>>(iter: I) -> String {
791781
let mut buf = String::new();
792-
buf.extend(iterable);
782+
buf.extend(iter);
793783
buf
794784
}
795785
}
@@ -808,8 +798,8 @@ impl Extend<char> for String {
808798

809799
#[stable(feature = "extend_ref", since = "1.2.0")]
810800
impl<'a> Extend<&'a char> for String {
811-
fn extend<I: IntoIterator<Item=&'a char>>(&mut self, iterable: I) {
812-
self.extend(iterable.into_iter().cloned());
801+
fn extend<I: IntoIterator<Item=&'a char>>(&mut self, iter: I) {
802+
self.extend(iter.into_iter().cloned());
813803
}
814804
}
815805

@@ -822,15 +812,6 @@ impl<'a> Extend<&'a str> for String {
822812
}
823813
}
824814

825-
#[stable(feature = "extend_string", since = "1.4.0")]
826-
impl Extend<String> for String {
827-
fn extend<I: IntoIterator<Item=String>>(&mut self, iterable: I) {
828-
for s in iterable {
829-
self.push_str(&s)
830-
}
831-
}
832-
}
833-
834815
/// A convenience impl that delegates to the impl for `&str`
835816
impl<'a, 'b> Pattern<'a> for &'b String {
836817
type Searcher = <&'b str as Pattern<'a>>::Searcher;

branches/try/src/libcore/macros.rs

Lines changed: 2 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -239,8 +239,7 @@ macro_rules! writeln {
239239
/// ```
240240
#[macro_export]
241241
#[unstable(feature = "core",
242-
reason = "relationship with panic is unclear",
243-
issue = "27701")]
242+
reason = "relationship with panic is unclear")]
244243
macro_rules! unreachable {
245244
() => ({
246245
panic!("internal error: entered unreachable code")
@@ -255,55 +254,9 @@ macro_rules! unreachable {
255254

256255
/// A standardised placeholder for marking unfinished code. It panics with the
257256
/// message `"not yet implemented"` when executed.
258-
///
259-
/// This can be useful if you are prototyping and are just looking to have your
260-
/// code typecheck, or if you're implementing a trait that requires multiple
261-
/// methods, and you're only planning on using one of them.
262-
///
263-
/// # Examples
264-
///
265-
/// Here's an example of some in-progress code. We have a trait `Foo`:
266-
///
267-
/// ```
268-
/// trait Foo {
269-
/// fn bar(&self);
270-
/// fn baz(&self);
271-
/// }
272-
/// ```
273-
///
274-
/// We want to implement `Foo` on one of our types, but we also want to work on
275-
/// just `bar()` first. In order for our code to compile, we need to implement
276-
/// `baz()`, so we can use `unimplemented!`:
277-
///
278-
/// ```
279-
/// # trait Foo {
280-
/// # fn foo(&self);
281-
/// # fn bar(&self);
282-
/// # }
283-
/// struct MyStruct;
284-
///
285-
/// impl Foo for MyStruct {
286-
/// fn foo(&self) {
287-
/// // implementation goes here
288-
/// }
289-
///
290-
/// fn bar(&self) {
291-
/// // let's not worry about implementing bar() for now
292-
/// unimplemented!();
293-
/// }
294-
/// }
295-
///
296-
/// fn main() {
297-
/// let s = MyStruct;
298-
/// s.foo();
299-
///
300-
/// // we aren't even using bar() yet, so this is fine.
301-
/// }
302-
/// ```
303257
#[macro_export]
304258
#[unstable(feature = "core",
305-
reason = "relationship with panic is unclear",
306-
issue = "27701")]
259+
reason = "relationship with panic is unclear")]
307260
macro_rules! unimplemented {
308261
() => (panic!("not yet implemented"))
309262
}

branches/try/src/libcore/option.rs

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -779,26 +779,6 @@ impl<T> IntoIterator for Option<T> {
779779
}
780780
}
781781

782-
#[stable(since = "1.4.0", feature = "option_iter")]
783-
impl<'a, T> IntoIterator for &'a Option<T> {
784-
type Item = &'a T;
785-
type IntoIter = Iter<'a, T>;
786-
787-
fn into_iter(self) -> Iter<'a, T> {
788-
self.iter()
789-
}
790-
}
791-
792-
#[stable(since = "1.4.0", feature = "option_iter")]
793-
impl<'a, T> IntoIterator for &'a mut Option<T> {
794-
type Item = &'a mut T;
795-
type IntoIter = IterMut<'a, T>;
796-
797-
fn into_iter(mut self) -> IterMut<'a, T> {
798-
self.iter_mut()
799-
}
800-
}
801-
802782
/////////////////////////////////////////////////////////////////////////////
803783
// The Option Iterators
804784
/////////////////////////////////////////////////////////////////////////////

branches/try/src/libcore/result.rs

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -815,26 +815,6 @@ impl<T, E> IntoIterator for Result<T, E> {
815815
}
816816
}
817817

818-
#[stable(since = "1.4.0", feature = "result_iter")]
819-
impl<'a, T, E> IntoIterator for &'a Result<T, E> {
820-
type Item = &'a T;
821-
type IntoIter = Iter<'a, T>;
822-
823-
fn into_iter(self) -> Iter<'a, T> {
824-
self.iter()
825-
}
826-
}
827-
828-
#[stable(since = "1.4.0", feature = "result_iter")]
829-
impl<'a, T, E> IntoIterator for &'a mut Result<T, E> {
830-
type Item = &'a mut T;
831-
type IntoIter = IterMut<'a, T>;
832-
833-
fn into_iter(mut self) -> IterMut<'a, T> {
834-
self.iter_mut()
835-
}
836-
}
837-
838818
/////////////////////////////////////////////////////////////////////////////
839819
// The Result Iterators
840820
/////////////////////////////////////////////////////////////////////////////

branches/try/src/libcoretest/iter.rs

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
// except according to those terms.
1010

1111
use core::iter::*;
12+
use core::iter::order::*;
1213
use core::{i8, i16, isize};
1314
use core::usize;
1415

@@ -20,51 +21,51 @@ fn test_lt() {
2021
let xs = [1,2,3];
2122
let ys = [1,2,0];
2223

23-
assert!(!xs.iter().lt(ys.iter()));
24-
assert!(!xs.iter().le(ys.iter()));
25-
assert!( xs.iter().gt(ys.iter()));
26-
assert!( xs.iter().ge(ys.iter()));
24+
assert!(!lt(xs.iter(), ys.iter()));
25+
assert!(!le(xs.iter(), ys.iter()));
26+
assert!( gt(xs.iter(), ys.iter()));
27+
assert!( ge(xs.iter(), ys.iter()));
2728

28-
assert!( ys.iter().lt(xs.iter()));
29-
assert!( ys.iter().le(xs.iter()));
30-
assert!(!ys.iter().gt(xs.iter()));
31-
assert!(!ys.iter().ge(xs.iter()));
29+
assert!( lt(ys.iter(), xs.iter()));
30+
assert!( le(ys.iter(), xs.iter()));
31+
assert!(!gt(ys.iter(), xs.iter()));
32+
assert!(!ge(ys.iter(), xs.iter()));
3233

33-
assert!( empty.iter().lt(xs.iter()));
34-
assert!( empty.iter().le(xs.iter()));
35-
assert!(!empty.iter().gt(xs.iter()));
36-
assert!(!empty.iter().ge(xs.iter()));
34+
assert!( lt(empty.iter(), xs.iter()));
35+
assert!( le(empty.iter(), xs.iter()));
36+
assert!(!gt(empty.iter(), xs.iter()));
37+
assert!(!ge(empty.iter(), xs.iter()));
3738

3839
// Sequence with NaN
3940
let u = [1.0f64, 2.0];
4041
let v = [0.0f64/0.0, 3.0];
4142

42-
assert!(!u.iter().lt(v.iter()));
43-
assert!(!u.iter().le(v.iter()));
44-
assert!(!u.iter().gt(v.iter()));
45-
assert!(!u.iter().ge(v.iter()));
43+
assert!(!lt(u.iter(), v.iter()));
44+
assert!(!le(u.iter(), v.iter()));
45+
assert!(!gt(u.iter(), v.iter()));
46+
assert!(!ge(u.iter(), v.iter()));
4647

4748
let a = [0.0f64/0.0];
4849
let b = [1.0f64];
4950
let c = [2.0f64];
5051

51-
assert!(a.iter().lt(b.iter()) == (a[0] < b[0]));
52-
assert!(a.iter().le(b.iter()) == (a[0] <= b[0]));
53-
assert!(a.iter().gt(b.iter()) == (a[0] > b[0]));
54-
assert!(a.iter().ge(b.iter()) == (a[0] >= b[0]));
52+
assert!(lt(a.iter(), b.iter()) == (a[0] < b[0]));
53+
assert!(le(a.iter(), b.iter()) == (a[0] <= b[0]));
54+
assert!(gt(a.iter(), b.iter()) == (a[0] > b[0]));
55+
assert!(ge(a.iter(), b.iter()) == (a[0] >= b[0]));
5556

56-
assert!(c.iter().lt(b.iter()) == (c[0] < b[0]));
57-
assert!(c.iter().le(b.iter()) == (c[0] <= b[0]));
58-
assert!(c.iter().gt(b.iter()) == (c[0] > b[0]));
59-
assert!(c.iter().ge(b.iter()) == (c[0] >= b[0]));
57+
assert!(lt(c.iter(), b.iter()) == (c[0] < b[0]));
58+
assert!(le(c.iter(), b.iter()) == (c[0] <= b[0]));
59+
assert!(gt(c.iter(), b.iter()) == (c[0] > b[0]));
60+
assert!(ge(c.iter(), b.iter()) == (c[0] >= b[0]));
6061
}
6162

6263
#[test]
6364
fn test_multi_iter() {
6465
let xs = [1,2,3,4];
6566
let ys = [4,3,2,1];
66-
assert!(xs.iter().eq(ys.iter().rev()));
67-
assert!(xs.iter().lt(xs.iter().skip(2)));
67+
assert!(eq(xs.iter(), ys.iter().rev()));
68+
assert!(lt(xs.iter(), xs.iter().skip(2)));
6869
}
6970

7071
#[test]

branches/try/src/libcoretest/option.rs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -180,14 +180,11 @@ fn test_iter() {
180180
assert_eq!(it.next(), Some(&val));
181181
assert_eq!(it.size_hint(), (0, Some(0)));
182182
assert!(it.next().is_none());
183-
184-
let mut it = (&x).into_iter();
185-
assert_eq!(it.next(), Some(&val));
186183
}
187184

188185
#[test]
189186
fn test_mut_iter() {
190-
let mut val = 5;
187+
let val = 5;
191188
let new_val = 11;
192189

193190
let mut x = Some(val);
@@ -208,10 +205,6 @@ fn test_mut_iter() {
208205
assert!(it.next().is_none());
209206
}
210207
assert_eq!(x, Some(new_val));
211-
212-
let mut y = Some(val);
213-
let mut it = (&mut y).into_iter();
214-
assert_eq!(it.next(), Some(&mut val));
215208
}
216209

217210
#[test]

branches/try/src/libcoretest/result.rs

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -150,36 +150,3 @@ pub fn test_expect_err() {
150150
let err: Result<isize, &'static str> = Err("All good");
151151
err.expect("Got expected error");
152152
}
153-
154-
#[test]
155-
pub fn test_iter() {
156-
let ok: Result<isize, &'static str> = Ok(100);
157-
let mut it = ok.iter();
158-
assert_eq!(it.size_hint(), (1, Some(1)));
159-
assert_eq!(it.next(), Some(&100));
160-
assert_eq!(it.size_hint(), (0, Some(0)));
161-
assert!(it.next().is_none());
162-
assert_eq!((&ok).into_iter().next(), Some(&100));
163-
164-
let err: Result<isize, &'static str> = Err("error");
165-
assert_eq!(err.iter().next(), None);
166-
}
167-
168-
#[test]
169-
pub fn test_iter_mut() {
170-
let mut ok: Result<isize, &'static str> = Ok(100);
171-
for loc in ok.iter_mut() {
172-
*loc = 200;
173-
}
174-
assert_eq!(ok, Ok(200));
175-
for loc in &mut ok {
176-
*loc = 300;
177-
}
178-
assert_eq!(ok, Ok(300));
179-
180-
let mut err: Result<isize, &'static str> = Err("error");
181-
for loc in err.iter_mut() {
182-
*loc = 200;
183-
}
184-
assert_eq!(err, Err("error"));
185-
}

0 commit comments

Comments
 (0)