Skip to content

Commit 41e5da1

Browse files
committed
---
yaml --- r: 277519 b: refs/heads/try c: d80497e h: refs/heads/master i: 277517: 902ec29 277515: 18fe785 277511: 565a113 277503: 0f41694
1 parent cd37721 commit 41e5da1

30 files changed

+986
-1133
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: 6dbb0e86aec11050480beb76eade6fb805010ba7
33
refs/heads/snap-stage3: 235d77457d80b549dad3ac36d94f235208a1eafb
4-
refs/heads/try: e8cbcef86e33b7d3ffeda9be8797eebaac3eac28
4+
refs/heads/try: d80497e628945c3f11ff351030b4c62a8533e01e
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
66
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
77
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Read ["Installing Rust"] from [The Book].
1616

1717
1. Make sure you have installed the dependencies:
1818

19-
* `g++` 4.7 or `clang++` 3.x
19+
* `g++` 4.7 or later or `clang++` 3.x
2020
* `python` 2.7 (but not 3.x)
2121
* GNU `make` 3.81 or later
2222
* `curl`

branches/try/src/libcore/iter/mod.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,6 +541,23 @@ impl<A, B> Iterator for Chain<A, B> where
541541
}
542542
}
543543

544+
#[inline]
545+
fn find<P>(&mut self, mut predicate: P) -> Option<Self::Item> where
546+
P: FnMut(&Self::Item) -> bool,
547+
{
548+
match self.state {
549+
ChainState::Both => match self.a.find(&mut predicate) {
550+
None => {
551+
self.state = ChainState::Back;
552+
self.b.find(predicate)
553+
}
554+
v => v
555+
},
556+
ChainState::Front => self.a.find(predicate),
557+
ChainState::Back => self.b.find(predicate),
558+
}
559+
}
560+
544561
#[inline]
545562
fn last(self) -> Option<A::Item> {
546563
match self.state {

branches/try/src/libcore/num/int_macros.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#![doc(hidden)]
1212

13+
#[cfg(stage0)]
1314
macro_rules! int_module { ($T:ty, $bits:expr) => (
1415

1516
// FIXME(#11621): Should be deprecated once CTFE is implemented in favour of
@@ -25,3 +26,15 @@ pub const MIN: $T = (-1 as $T) << ($bits - 1);
2526
pub const MAX: $T = !MIN;
2627

2728
) }
29+
30+
#[cfg(not(stage0))]
31+
macro_rules! int_module { ($T:ident, $bits:expr) => (
32+
33+
#[stable(feature = "rust1", since = "1.0.0")]
34+
#[allow(missing_docs)]
35+
pub const MIN: $T = $T::min_value();
36+
#[stable(feature = "rust1", since = "1.0.0")]
37+
#[allow(missing_docs)]
38+
pub const MAX: $T = $T::max_value();
39+
40+
) }

branches/try/src/libcore/num/uint_macros.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#![doc(hidden)]
1212

13+
#[cfg(stage0)]
1314
macro_rules! uint_module { ($T:ty, $bits:expr) => (
1415

1516
#[stable(feature = "rust1", since = "1.0.0")]
@@ -20,3 +21,15 @@ pub const MIN: $T = 0 as $T;
2021
pub const MAX: $T = !0 as $T;
2122

2223
) }
24+
25+
#[cfg(not(stage0))]
26+
macro_rules! uint_module { ($T:ident, $bits:expr) => (
27+
28+
#[stable(feature = "rust1", since = "1.0.0")]
29+
#[allow(missing_docs)]
30+
pub const MIN: $T = $T::min_value();
31+
#[stable(feature = "rust1", since = "1.0.0")]
32+
#[allow(missing_docs)]
33+
pub const MAX: $T = $T::max_value();
34+
35+
) }

branches/try/src/libcoretest/iter.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,19 @@ fn test_iterator_chain_count() {
133133
assert_eq!(zs.iter().chain(&ys).count(), 4);
134134
}
135135

136+
#[test]
137+
fn test_iterator_chain_find() {
138+
let xs = [0, 1, 2, 3, 4, 5];
139+
let ys = [30, 40, 50, 60];
140+
let mut iter = xs.iter().chain(&ys);
141+
assert_eq!(iter.find(|&&i| i == 4), Some(&4));
142+
assert_eq!(iter.next(), Some(&5));
143+
assert_eq!(iter.find(|&&i| i == 40), Some(&40));
144+
assert_eq!(iter.next(), Some(&50));
145+
assert_eq!(iter.find(|&&i| i == 100), None);
146+
assert_eq!(iter.next(), None);
147+
}
148+
136149
#[test]
137150
fn test_filter_map() {
138151
let it = (0..).step_by(1).take(10)

0 commit comments

Comments
 (0)