diff options
| author | Gareth Daniel Smith <garethdanielsmith@gmail.com> | 2012-08-21 19:41:29 +0100 |
|---|---|---|
| committer | Gareth Daniel Smith <garethdanielsmith@gmail.com> | 2012-08-21 19:41:29 +0100 |
| commit | 5ccd299b15e2ff5d351e0329df6e75dec2eb1b6b (patch) | |
| tree | 3035159c59743a2680dc19ed5b3090b222fc827d /src/libstd | |
| parent | 9423302c82b0974315c7f2637f72c00ab3c26a18 (diff) | |
fix a logic bug in small_bitv.set
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/bitv.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libstd/bitv.rs b/src/libstd/bitv.rs index 77d39616b61..91e9a1dc940 100644 --- a/src/libstd/bitv.rs +++ b/src/libstd/bitv.rs @@ -61,7 +61,7 @@ struct small_bitv { self.bits |= 1<<i; } else { - self.bits &= !(i as u32); + self.bits &= !(1<<i as u32); } } #[inline(always)] @@ -457,6 +457,14 @@ mod tests { } #[test] + fn test_2_elements() { + let b = bitv::bitv(2, false); + b.set(0, true); + b.set(1, false); + assert b.to_str() == ~"10"; + } + + #[test] fn test_10_elements() { let mut act; // all 0 |
