about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libcore/num/mod.rs16
-rw-r--r--src/libcore/ops.rs10
-rw-r--r--src/libcoretest/num/int_macros.rs4
-rw-r--r--src/libcoretest/num/uint_macros.rs4
4 files changed, 17 insertions, 17 deletions
diff --git a/src/libcore/num/mod.rs b/src/libcore/num/mod.rs
index 1fae362471d..42a7314d8e4 100644
--- a/src/libcore/num/mod.rs
+++ b/src/libcore/num/mod.rs
@@ -400,8 +400,8 @@ pub trait Int: Primitive
              + BitAnd<Self,Self>
              + BitOr<Self,Self>
              + BitXor<Self,Self>
-             + Shl<Self,Self>
-             + Shr<Self,Self> {
+             + Shl<uint,Self>
+             + Shr<uint,Self> {
     /// Returns the number of ones in the binary representation of the integer.
     ///
     /// # Example
@@ -667,12 +667,12 @@ int_cast_impl!(i64, u64)
 /// Returns the smallest power of 2 greater than or equal to `n`.
 #[inline]
 pub fn next_power_of_two<T: Unsigned + Int>(n: T) -> T {
-    let halfbits: T = cast(size_of::<T>() * 4).unwrap();
+    let halfbits = size_of::<T>() * 4;
     let mut tmp: T = n - one();
-    let mut shift: T = one();
+    let mut shift = 1u;
     while shift <= halfbits {
         tmp = tmp | (tmp >> shift);
-        shift = shift << one();
+        shift = shift << 1u;
     }
     tmp + one()
 }
@@ -688,12 +688,12 @@ pub fn is_power_of_two<T: Unsigned + Int>(n: T) -> bool {
 /// otherwise the power of 2 is wrapped in `Some`.
 #[inline]
 pub fn checked_next_power_of_two<T: Unsigned + Int>(n: T) -> Option<T> {
-    let halfbits: T = cast(size_of::<T>() * 4).unwrap();
+    let halfbits = size_of::<T>() * 4;
     let mut tmp: T = n - one();
-    let mut shift: T = one();
+    let mut shift = 1u;
     while shift <= halfbits {
         tmp = tmp | (tmp >> shift);
-        shift = shift << one();
+        shift = shift << 1u;
     }
     tmp.checked_add(&one())
 }
diff --git a/src/libcore/ops.rs b/src/libcore/ops.rs
index d42c09b8163..1f67f3de522 100644
--- a/src/libcore/ops.rs
+++ b/src/libcore/ops.rs
@@ -558,10 +558,10 @@ pub trait Shl<RHS,Result> {
 
 macro_rules! shl_impl(
     ($($t:ty)*) => ($(
-        impl Shl<$t, $t> for $t {
+        impl Shl<uint, $t> for $t {
             #[inline]
-            fn shl(&self, other: &$t) -> $t {
-                (*self) << (*other as uint)
+            fn shl(&self, other: &uint) -> $t {
+                (*self) << (*other)
             }
         }
     )*)
@@ -601,9 +601,9 @@ pub trait Shr<RHS,Result> {
 
 macro_rules! shr_impl(
     ($($t:ty)*) => ($(
-        impl Shr<$t, $t> for $t {
+        impl Shr<uint, $t> for $t {
             #[inline]
-            fn shr(&self, other: &$t) -> $t { (*self) >> (*other as uint) }
+            fn shr(&self, other: &uint) -> $t { (*self) >> (*other) }
         }
     )*)
 )
diff --git a/src/libcoretest/num/int_macros.rs b/src/libcoretest/num/int_macros.rs
index d078b514085..a2a9a05e868 100644
--- a/src/libcoretest/num/int_macros.rs
+++ b/src/libcoretest/num/int_macros.rs
@@ -74,8 +74,8 @@ mod tests {
         assert!(0b1110 as $T == (0b1100 as $T).bitor(&(0b1010 as $T)));
         assert!(0b1000 as $T == (0b1100 as $T).bitand(&(0b1010 as $T)));
         assert!(0b0110 as $T == (0b1100 as $T).bitxor(&(0b1010 as $T)));
-        assert!(0b1110 as $T == (0b0111 as $T).shl(&(1 as $T)));
-        assert!(0b0111 as $T == (0b1110 as $T).shr(&(1 as $T)));
+        assert!(0b1110 as $T == (0b0111 as $T).shl(&1));
+        assert!(0b0111 as $T == (0b1110 as $T).shr(&1));
         assert!(-(0b11 as $T) - (1 as $T) == (0b11 as $T).not());
     }
 
diff --git a/src/libcoretest/num/uint_macros.rs b/src/libcoretest/num/uint_macros.rs
index aefaa90520e..a823e8d3f57 100644
--- a/src/libcoretest/num/uint_macros.rs
+++ b/src/libcoretest/num/uint_macros.rs
@@ -34,8 +34,8 @@ mod tests {
         assert!(0b1110 as $T == (0b1100 as $T).bitor(&(0b1010 as $T)));
         assert!(0b1000 as $T == (0b1100 as $T).bitand(&(0b1010 as $T)));
         assert!(0b0110 as $T == (0b1100 as $T).bitxor(&(0b1010 as $T)));
-        assert!(0b1110 as $T == (0b0111 as $T).shl(&(1 as $T)));
-        assert!(0b0111 as $T == (0b1110 as $T).shr(&(1 as $T)));
+        assert!(0b1110 as $T == (0b0111 as $T).shl(&1u));
+        assert!(0b0111 as $T == (0b1110 as $T).shr(&1u));
         assert!(MAX - (0b1011 as $T) == (0b1011 as $T).not());
     }