about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libstd/bitv.rs10
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