about summary refs log tree commit diff
path: root/src/libstd/num
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2014-04-21 17:58:52 -0400
committerAlex Crichton <alex@alexcrichton.com>2014-06-24 17:18:48 -0700
commit9e3d0b002a5c2e81d43351c9b8550a3f4ccfb8f9 (patch)
tree1e9a15e8a55cc3947025ab3ac044c2f7977159d9 /src/libstd/num
parentf7f95c8f5a6294f161800dbb65a0423bb5248f34 (diff)
downloadrust-9e3d0b002a5c2e81d43351c9b8550a3f4ccfb8f9.tar.gz
rust-9e3d0b002a5c2e81d43351c9b8550a3f4ccfb8f9.zip
librustc: Remove the fallback to `int` from typechecking.
This breaks a fair amount of code. The typical patterns are:

* `for _ in range(0, 10)`: change to `for _ in range(0u, 10)`;

* `println!("{}", 3)`: change to `println!("{}", 3i)`;

* `[1, 2, 3].len()`: change to `[1i, 2, 3].len()`.

RFC #30. Closes #6023.

[breaking-change]
Diffstat (limited to 'src/libstd/num')
-rw-r--r--src/libstd/num/mod.rs30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/libstd/num/mod.rs b/src/libstd/num/mod.rs
index 7301f9b08e9..50b2e0ff343 100644
--- a/src/libstd/num/mod.rs
+++ b/src/libstd/num/mod.rs
@@ -128,11 +128,11 @@ pub fn from_str_radix<T: FromStrRadix>(str: &str, radix: uint) -> Option<T> {
 /// Helper function for testing numeric operations
 #[cfg(test)]
 pub fn test_num<T:Num + NumCast + Show>(ten: T, two: T) {
-    assert_eq!(ten.add(&two),  cast(12).unwrap());
-    assert_eq!(ten.sub(&two),  cast(8).unwrap());
-    assert_eq!(ten.mul(&two),  cast(20).unwrap());
-    assert_eq!(ten.div(&two),  cast(5).unwrap());
-    assert_eq!(ten.rem(&two),  cast(0).unwrap());
+    assert_eq!(ten.add(&two),  cast(12i).unwrap());
+    assert_eq!(ten.sub(&two),  cast(8i).unwrap());
+    assert_eq!(ten.mul(&two),  cast(20i).unwrap());
+    assert_eq!(ten.div(&two),  cast(5i).unwrap());
+    assert_eq!(ten.rem(&two),  cast(0i).unwrap());
 
     assert_eq!(ten.add(&two),  ten + two);
     assert_eq!(ten.sub(&two),  ten - two);
@@ -760,14 +760,14 @@ mod tests {
                 assert_eq!(result, naive_pow($num, $exp));
             }}
         )
-        assert_pow!((3,    0 ) => 1);
-        assert_pow!((5,    1 ) => 5);
-        assert_pow!((-4,   2 ) => 16);
-        assert_pow!((0.5,  5 ) => 0.03125);
-        assert_pow!((8,    3 ) => 512);
-        assert_pow!((8.0,  5 ) => 32768.0);
-        assert_pow!((8.5,  5 ) => 44370.53125);
-        assert_pow!((2u64, 50) => 1125899906842624);
+        assert_pow!((3i,     0 ) => 1);
+        assert_pow!((5i,     1 ) => 5);
+        assert_pow!((-4i,    2 ) => 16);
+        assert_pow!((0.5f64, 5 ) => 0.03125);
+        assert_pow!((8i,     3 ) => 512);
+        assert_pow!((8.0f64, 5 ) => 32768.0);
+        assert_pow!((8.5f64, 5 ) => 44370.53125);
+        assert_pow!((2u64,   50) => 1125899906842624);
     }
 }
 
@@ -781,7 +781,7 @@ mod bench {
 
     #[bench]
     fn bench_pow_function(b: &mut Bencher) {
-        let v = Vec::from_fn(1024, |n| n);
-        b.iter(|| {v.iter().fold(0, |old, new| num::pow(old, *new));});
+        let v = Vec::from_fn(1024u, |n| n);
+        b.iter(|| {v.iter().fold(0u, |old, new| num::pow(old, *new));});
     }
 }