Skip to content

Commit 96ece33

Browse files
committed
---
yaml --- r: 132438 b: refs/heads/dist-snap c: a043814 h: refs/heads/master v: v3
1 parent 789c907 commit 96ece33

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: 457a3c991d79b971be07fce75f9d0c12848fb37c
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: 3737c537c3bb1aa96ddfd934fd4c48839249f5eb
9+
refs/heads/dist-snap: a0438143dec68fea83e3e4d28c120f7d14a9572d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/src/libcollections/bitv.rs

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -978,6 +978,21 @@ impl Default for BitvSet {
978978
fn default() -> BitvSet { BitvSet::new() }
979979
}
980980

981+
impl FromIterator<bool> for BitvSet {
982+
fn from_iter<I:Iterator<bool>>(iterator: I) -> BitvSet {
983+
let mut ret = BitvSet::new();
984+
ret.extend(iterator);
985+
ret
986+
}
987+
}
988+
989+
impl Extendable<bool> for BitvSet {
990+
#[inline]
991+
fn extend<I: Iterator<bool>>(&mut self, iterator: I) {
992+
self.get_mut_ref().extend(iterator);
993+
}
994+
}
995+
981996
impl BitvSet {
982997
/// Create a new bit vector set with initially no contents.
983998
///
@@ -1958,6 +1973,17 @@ mod tests {
19581973
assert_eq!(bitv.to_string().as_slice(), "1011");
19591974
}
19601975

1976+
#[test]
1977+
fn test_bitv_set_from_bools() {
1978+
let bools = vec![true, false, true, true];
1979+
let a: BitvSet = bools.iter().map(|n| *n).collect();
1980+
let mut b = BitvSet::new();
1981+
b.insert(0);
1982+
b.insert(2);
1983+
b.insert(3);
1984+
assert_eq!(a, b);
1985+
}
1986+
19611987
#[test]
19621988
fn test_to_bools() {
19631989
let bools = vec!(false, false, true, false, false, true, true, false);
@@ -1977,7 +2003,7 @@ mod tests {
19772003
#[test]
19782004
fn test_bitv_set_iterator() {
19792005
let bools = [true, false, true, true];
1980-
let bitv = BitvSet::from_bitv(bools.iter().map(|n| *n).collect());
2006+
let bitv: BitvSet = bools.iter().map(|n| *n).collect();
19812007

19822008
let idxs: Vec<uint> = bitv.iter().collect();
19832009
assert_eq!(idxs, vec!(0, 2, 3));

0 commit comments

Comments
 (0)