about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJorge Aparicio <japaricious@gmail.com>2015-01-26 15:46:12 -0500
committerJorge Aparicio <japaricious@gmail.com>2015-01-29 07:47:37 -0500
commit7d661af9c86566088f7dbaeee25143ecde673b75 (patch)
tree54aa9b410d06064bdc893f034e1b86921698aea9
parentc300d681bd2e901ef39591bbfb1ea4568ac6be70 (diff)
downloadrust-7d661af9c86566088f7dbaeee25143ecde673b75.tar.gz
rust-7d661af9c86566088f7dbaeee25143ecde673b75.zip
`for x in range(a, b)` -> `for x in a..b`
sed -i 's/in range(\([^,]*\), *\([^()]*\))/in \1\.\.\2/g' **/*.rs
-rw-r--r--src/liballoc/arc.rs6
-rw-r--r--src/libarena/lib.rs10
-rw-r--r--src/libcollections/bench.rs6
-rw-r--r--src/libcollections/bit.rs28
-rw-r--r--src/libcollections/btree/map.rs30
-rw-r--r--src/libcollections/btree/node.rs2
-rw-r--r--src/libcollections/dlist.rs14
-rw-r--r--src/libcollections/ring_buf.rs110
-rw-r--r--src/libcollections/slice.rs18
-rw-r--r--src/libcollections/str.rs4
-rw-r--r--src/libcollections/string.rs6
-rw-r--r--src/libcollections/vec.rs14
-rw-r--r--src/libcore/fmt/mod.rs4
-rw-r--r--src/libcore/iter.rs6
-rw-r--r--src/libcore/slice.rs2
-rw-r--r--src/libcoretest/iter.rs2
-rw-r--r--src/libflate/lib.rs6
-rw-r--r--src/libgetopts/lib.rs4
-rw-r--r--src/librand/chacha.rs12
-rw-r--r--src/librand/distributions/exponential.rs4
-rw-r--r--src/librand/distributions/gamma.rs14
-rw-r--r--src/librand/distributions/mod.rs2
-rw-r--r--src/librand/distributions/normal.rs6
-rw-r--r--src/librand/distributions/range.rs6
-rw-r--r--src/librand/isaac.rs10
-rw-r--r--src/librand/rand_impls.rs4
-rw-r--r--src/librand/reseeding.rs2
-rw-r--r--src/librbml/io.rs2
-rw-r--r--src/librustc/lint/context.rs2
-rw-r--r--src/librustc/middle/astencode.rs4
-rw-r--r--src/librustc/middle/dataflow.rs4
-rw-r--r--src/librustc/middle/expr_use_visitor.rs2
-rw-r--r--src/librustc/middle/infer/combine.rs2
-rw-r--r--src/librustc/middle/infer/error_reporting.rs4
-rw-r--r--src/librustc/middle/infer/region_inference/mod.rs2
-rw-r--r--src/librustc/middle/liveness.rs6
-rw-r--r--src/librustc/middle/mem_categorization.rs2
-rw-r--r--src/librustc/middle/ty.rs2
-rw-r--r--src/librustc/util/lev_distance.rs2
-rw-r--r--src/librustc_borrowck/borrowck/fragments.rs2
-rw-r--r--src/librustc_trans/back/link.rs2
-rw-r--r--src/librustc_trans/back/write.rs2
-rw-r--r--src/librustc_trans/trans/consts.rs2
-rw-r--r--src/librustc_trans/trans/context.rs2
-rw-r--r--src/librustc_trans/trans/expr.rs2
-rw-r--r--src/librustc_typeck/check/regionck.rs2
-rw-r--r--src/librustc_typeck/check/writeback.rs2
-rw-r--r--src/librustdoc/html/render.rs2
-rw-r--r--src/librustdoc/html/toc.rs2
-rw-r--r--src/libserialize/collection_impls.rs16
-rw-r--r--src/libserialize/hex.rs4
-rw-r--r--src/libserialize/json.rs4
-rw-r--r--src/libserialize/serialize.rs4
-rw-r--r--src/libstd/collections/hash/map.rs50
-rw-r--r--src/libstd/collections/hash/set.rs4
-rw-r--r--src/libstd/old_io/fs.rs2
-rw-r--r--src/libstd/old_io/mem.rs8
-rw-r--r--src/libstd/old_io/net/pipe.rs12
-rw-r--r--src/libstd/old_io/net/tcp.rs14
-rw-r--r--src/libstd/old_io/net/udp.rs2
-rw-r--r--src/libstd/old_io/process.rs2
-rw-r--r--src/libstd/old_io/tempfile.rs2
-rw-r--r--src/libstd/old_io/timer.rs6
-rw-r--r--src/libstd/os.rs4
-rw-r--r--src/libstd/rand/mod.rs16
-rw-r--r--src/libstd/rand/os.rs4
-rw-r--r--src/libstd/sync/barrier.rs6
-rw-r--r--src/libstd/sync/condvar.rs4
-rw-r--r--src/libstd/sync/mpsc/mod.rs54
-rw-r--r--src/libstd/sync/mpsc/mpsc_queue.rs6
-rw-r--r--src/libstd/sync/mpsc/select.rs20
-rw-r--r--src/libstd/sync/mpsc/spsc_queue.rs4
-rw-r--r--src/libstd/sync/mutex.rs8
-rw-r--r--src/libstd/sync/once.rs6
-rw-r--r--src/libstd/sync/rwlock.rs8
-rw-r--r--src/libstd/sync/task_pool.rs12
-rw-r--r--src/libstd/sys/windows/thread_local.rs2
-rw-r--r--src/libsyntax/codemap.rs2
-rw-r--r--src/libsyntax/diagnostic.rs8
-rw-r--r--src/libsyntax/ext/tt/macro_parser.rs6
-rw-r--r--src/libsyntax/parse/lexer/mod.rs8
-rw-r--r--src/libsyntax/parse/mod.rs4
-rw-r--r--src/libsyntax/print/pprust.rs2
-rw-r--r--src/libterm/terminfo/parser/compiled.rs6
-rw-r--r--src/libtest/lib.rs2
-rw-r--r--src/test/bench/core-map.rs14
-rw-r--r--src/test/bench/core-set.rs20
-rw-r--r--src/test/bench/core-std.rs8
-rw-r--r--src/test/bench/core-uint-to-str.rs2
-rw-r--r--src/test/bench/msgsend-pipes-shared.rs4
-rw-r--r--src/test/bench/msgsend-pipes.rs6
-rw-r--r--src/test/bench/msgsend-ring-mutex-arcs.rs4
-rw-r--r--src/test/bench/noise.rs10
-rw-r--r--src/test/bench/rt-messaging-ping-pong.rs6
-rw-r--r--src/test/bench/shootout-chameneos-redux.rs2
-rw-r--r--src/test/bench/shootout-fannkuch-redux.rs4
-rw-r--r--src/test/bench/shootout-fasta-redux.rs6
-rw-r--r--src/test/bench/shootout-fasta.rs2
-rw-r--r--src/test/bench/shootout-k-nucleotide.rs4
-rw-r--r--src/test/bench/shootout-mandelbrot.rs4
-rw-r--r--src/test/bench/shootout-meteor.rs4
-rw-r--r--src/test/bench/shootout-nbody.rs2
-rw-r--r--src/test/bench/shootout-pfib.rs6
-rw-r--r--src/test/bench/shootout-spectralnorm.rs2
-rw-r--r--src/test/bench/std-smallintmap.rs6
-rw-r--r--src/test/bench/sudoku.rs14
-rw-r--r--src/test/bench/task-perf-alloc-unwind.rs2
-rw-r--r--src/test/compile-fail/borrowck-lend-flow-loop.rs2
-rw-r--r--src/test/compile-fail/hygienic-label-3.rs2
-rw-r--r--src/test/compile-fail/hygienic-label-4.rs2
-rw-r--r--src/test/compile-fail/issue-15167.rs2
-rw-r--r--src/test/compile-fail/issue-17999.rs2
-rw-r--r--src/test/compile-fail/liveness-unused.rs2
-rw-r--r--src/test/debuginfo/destructured-for-loop-variable.rs2
-rw-r--r--src/test/debuginfo/limited-debuginfo.rs2
-rw-r--r--src/test/debuginfo/unreachable-locals.rs2
-rw-r--r--src/test/run-fail/extern-panic.rs2
-rw-r--r--src/test/run-fail/for-each-loop-panic.rs2
-rw-r--r--src/test/run-make/unicode-input/multiple_files.rs4
-rw-r--r--src/test/run-make/unicode-input/span_length.rs2
-rw-r--r--src/test/run-pass/backtrace.rs2
-rw-r--r--src/test/run-pass/bitv-perf-test.rs2
-rw-r--r--src/test/run-pass/class-cast-to-trait-multiple-types.rs2
-rw-r--r--src/test/run-pass/class-impl-very-parameterized-trait.rs4
-rw-r--r--src/test/run-pass/class-implement-trait-cross-crate.rs2
-rw-r--r--src/test/run-pass/class-implement-traits.rs2
-rw-r--r--src/test/run-pass/classes-cross-crate.rs2
-rw-r--r--src/test/run-pass/classes.rs2
-rw-r--r--src/test/run-pass/deriving-encodable-decodable.rs2
-rw-r--r--src/test/run-pass/deriving-rand.rs2
-rw-r--r--src/test/run-pass/hygienic-labels-in-let.rs8
-rw-r--r--src/test/run-pass/hygienic-labels.rs6
-rw-r--r--src/test/run-pass/issue-10626.rs4
-rw-r--r--src/test/run-pass/issue-11736.rs4
-rw-r--r--src/test/run-pass/issue-13494.rs2
-rw-r--r--src/test/run-pass/issue-2989.rs2
-rw-r--r--src/test/run-pass/issue-3211.rs2
-rw-r--r--src/test/run-pass/issue-3563-3.rs6
-rw-r--r--src/test/run-pass/issue-4241.rs2
-rw-r--r--src/test/run-pass/issue-4401.rs2
-rw-r--r--src/test/run-pass/issue-5321-immediates-with-bare-self.rs2
-rw-r--r--src/test/run-pass/issue-8827.rs4
-rw-r--r--src/test/run-pass/labeled-break.rs2
-rw-r--r--src/test/run-pass/move-3-unique.rs2
-rw-r--r--src/test/run-pass/packed-struct-vec.rs2
-rw-r--r--src/test/run-pass/pattern-bound-var-in-for-each.rs2
-rw-r--r--src/test/run-pass/private-method.rs2
-rw-r--r--src/test/run-pass/realloc-16687.rs16
-rw-r--r--src/test/run-pass/regions-infer-borrow-scope-addr-of.rs2
-rw-r--r--src/test/run-pass/stat.rs2
-rw-r--r--src/test/run-pass/tcp-accept-stress.rs2
-rw-r--r--src/test/run-pass/tcp-connect-timeouts.rs2
-rw-r--r--src/test/run-pass/tcp-stress.rs4
-rw-r--r--src/test/run-pass/unique-send-2.rs2
-rw-r--r--src/test/run-pass/vector-sort-panic-safe.rs6
155 files changed, 490 insertions, 490 deletions
diff --git a/src/liballoc/arc.rs b/src/liballoc/arc.rs
index d52e40e0a96..90e761a4f1e 100644
--- a/src/liballoc/arc.rs
+++ b/src/liballoc/arc.rs
@@ -37,7 +37,7 @@
 //!
 //! let five = Arc::new(5i);
 //!
-//! for _ in range(0u, 10) {
+//! for _ in 0u..10 {
 //!     let five = five.clone();
 //!
 //!     Thread::spawn(move || {
@@ -54,7 +54,7 @@
 //!
 //! let five = Arc::new(Mutex::new(5i));
 //!
-//! for _ in range(0u, 10) {
+//! for _ in 0u..10 {
 //!     let five = five.clone();
 //!
 //!     Thread::spawn(move || {
@@ -98,7 +98,7 @@ use heap::deallocate;
 ///     let numbers: Vec<_> = (0..100u32).map(|i| i as f32).collect();
 ///     let shared_numbers = Arc::new(numbers);
 ///
-///     for _ in range(0u, 10) {
+///     for _ in 0u..10 {
 ///         let child_numbers = shared_numbers.clone();
 ///
 ///         Thread::spawn(move || {
diff --git a/src/libarena/lib.rs b/src/libarena/lib.rs
index 9396e2d6fb2..9744feb4ee7 100644
--- a/src/libarena/lib.rs
+++ b/src/libarena/lib.rs
@@ -311,7 +311,7 @@ impl Arena {
 #[test]
 fn test_arena_destructors() {
     let arena = Arena::new();
-    for i in range(0u, 10) {
+    for i in 0u..10 {
         // Arena allocate something with drop glue to make sure it
         // doesn't leak.
         arena.alloc(|| Rc::new(i));
@@ -340,7 +340,7 @@ fn test_arena_alloc_nested() {
 fn test_arena_destructors_fail() {
     let arena = Arena::new();
     // Put some stuff in the arena.
-    for i in range(0u, 10) {
+    for i in 0u..10 {
         // Arena allocate something with drop glue to make sure it
         // doesn't leak.
         arena.alloc(|| { Rc::new(i) });
@@ -410,7 +410,7 @@ impl<T> TypedArenaChunk<T> {
         // Destroy all the allocated objects.
         if intrinsics::needs_drop::<T>() {
             let mut start = self.start();
-            for _ in range(0, len) {
+            for _ in 0..len {
                 ptr::read(start as *const T); // run the destructor on the pointer
                 start = start.offset(mem::size_of::<T>() as int)
             }
@@ -530,7 +530,7 @@ mod tests {
     #[test]
     pub fn test_copy() {
         let arena = TypedArena::new();
-        for _ in range(0u, 100000) {
+        for _ in 0u..100000 {
             arena.alloc(Point {
                 x: 1,
                 y: 2,
@@ -585,7 +585,7 @@ mod tests {
     #[test]
     pub fn test_noncopy() {
         let arena = TypedArena::new();
-        for _ in range(0u, 100000) {
+        for _ in 0u..100000 {
             arena.alloc(Noncopy {
                 string: "hello world".to_string(),
                 array: vec!( 1, 2, 3, 4, 5 ),
diff --git a/src/libcollections/bench.rs b/src/libcollections/bench.rs
index 0df095c48c6..d03fbf00847 100644
--- a/src/libcollections/bench.rs
+++ b/src/libcollections/bench.rs
@@ -24,7 +24,7 @@ pub fn insert_rand_n<M, I, R>(n: uint,
     // setup
     let mut rng = rand::weak_rng();
 
-    for _ in range(0, n) {
+    for _ in 0..n {
         insert(map, rng.gen::<uint>() % n);
     }
 
@@ -46,7 +46,7 @@ pub fn insert_seq_n<M, I, R>(n: uint,
     R: FnMut(&mut M, uint),
 {
     // setup
-    for i in range(0u, n) {
+    for i in 0u..n {
         insert(map, i * 2);
     }
 
@@ -97,7 +97,7 @@ pub fn find_seq_n<M, T, I, F>(n: uint,
     F: FnMut(&M, uint) -> T,
 {
     // setup
-    for i in range(0u, n) {
+    for i in 0u..n {
         insert(map, i);
     }
 
diff --git a/src/libcollections/bit.rs b/src/libcollections/bit.rs
index dc3fc818d5c..56663f23a7e 100644
--- a/src/libcollections/bit.rs
+++ b/src/libcollections/bit.rs
@@ -68,7 +68,7 @@
 //! // Simple primality tests below our max bound
 //! let print_primes = 20;
 //! print!("The primes below {} are: ", print_primes);
-//! for x in range(0, print_primes) {
+//! for x in 0..print_primes {
 //!     if primes.contains(&x) {
 //!         print!("{} ", x);
 //!     }
@@ -104,7 +104,7 @@ type MatchWords<'a> = Chain<Enumerate<Blocks<'a>>, Skip<Take<Enumerate<Repeat<u3
 
 fn reverse_bits(byte: u8) -> u8 {
     let mut result = 0;
-    for i in range(0, u8::BITS) {
+    for i in 0..u8::BITS {
         result |= ((byte >> i) & 1) << (u8::BITS - 1 - i);
     }
     result
@@ -320,7 +320,7 @@ impl Bitv {
 
         bitv.nbits = len;
 
-        for i in range(0, complete_words) {
+        for i in 0..complete_words {
             bitv.storage.push(
                 ((reverse_bits(bytes[i * 4 + 0]) as u32) << 0) |
                 ((reverse_bits(bytes[i * 4 + 1]) as u32) << 8) |
@@ -353,7 +353,7 @@ impl Bitv {
     /// ```
     pub fn from_fn<F>(len: uint, mut f: F) -> Bitv where F: FnMut(uint) -> bool {
         let mut bitv = Bitv::from_elem(len, false);
-        for i in range(0u, len) {
+        for i in 0u..len {
             bitv.set(i, f(i));
         }
         bitv
@@ -830,7 +830,7 @@ impl Bitv {
 
         // Fill in words after the old tail word
         let stop_idx = cmp::min(self.storage.len(), new_nblocks);
-        for idx in range(old_last_word + 1, stop_idx) {
+        for idx in old_last_word + 1..stop_idx {
             self.storage[idx] = full_value;
         }
 
@@ -2232,12 +2232,12 @@ mod tests {
     #[test]
     fn test_equal_sneaky_big() {
         let mut a = Bitv::from_elem(100, false);
-        for i in range(0u, 100) {
+        for i in 0u..100 {
             a.set(i, true);
         }
 
         let mut b = Bitv::from_elem(100, true);
-        for i in range(0u, 100) {
+        for i in 0u..100 {
             b.set(i, true);
         }
 
@@ -2526,7 +2526,7 @@ mod bitv_bench {
         let mut r = rng();
         let mut bitv = 0 as uint;
         b.iter(|| {
-            for _ in range(0u, 100) {
+            for _ in 0u..100 {
                 bitv |= 1 << ((r.next_u32() as uint) % u32::BITS);
             }
             black_box(&bitv);
@@ -2538,7 +2538,7 @@ mod bitv_bench {
         let mut r = rng();
         let mut bitv = Bitv::from_elem(BENCH_BITS, false);
         b.iter(|| {
-            for _ in range(0u, 100) {
+            for _ in 0u..100 {
                 bitv.set((r.next_u32() as uint) % BENCH_BITS, true);
             }
             black_box(&bitv);
@@ -2550,7 +2550,7 @@ mod bitv_bench {
         let mut r = rng();
         let mut bitv = Bitv::from_elem(BENCH_BITS, false);
         b.iter(|| {
-            for _ in range(0u, 100) {
+            for _ in 0u..100 {
                 bitv.set((r.next_u32() as uint) % BENCH_BITS, r.gen());
             }
             black_box(&bitv);
@@ -2562,7 +2562,7 @@ mod bitv_bench {
         let mut r = rng();
         let mut bitv = Bitv::from_elem(u32::BITS, false);
         b.iter(|| {
-            for _ in range(0u, 100) {
+            for _ in 0u..100 {
                 bitv.set((r.next_u32() as uint) % u32::BITS, true);
             }
             black_box(&bitv);
@@ -2583,7 +2583,7 @@ mod bitv_bench {
         let bitv = Bitv::from_elem(u32::BITS, false);
         b.iter(|| {
             let mut sum = 0u;
-            for _ in range(0u, 10) {
+            for _ in 0u..10 {
                 for pres in bitv.iter() {
                     sum += pres as uint;
                 }
@@ -3021,7 +3021,7 @@ mod bitv_set_bench {
         let mut r = rng();
         let mut bitv = BitvSet::new();
         b.iter(|| {
-            for _ in range(0u, 100) {
+            for _ in 0u..100 {
                 bitv.insert((r.next_u32() as uint) % u32::BITS);
             }
             black_box(&bitv);
@@ -3033,7 +3033,7 @@ mod bitv_set_bench {
         let mut r = rng();
         let mut bitv = BitvSet::new();
         b.iter(|| {
-            for _ in range(0u, 100) {
+            for _ in 0u..100 {
                 bitv.insert((r.next_u32() as uint) % BENCH_BITS);
             }
             black_box(&bitv);
diff --git a/src/libcollections/btree/map.rs b/src/libcollections/btree/map.rs
index dbc931330a1..b916ba8cbf6 100644
--- a/src/libcollections/btree/map.rs
+++ b/src/libcollections/btree/map.rs
@@ -1601,39 +1601,39 @@ mod test {
         let size = 10000u;
         assert_eq!(map.len(), 0);
 
-        for i in range(0, size) {
+        for i in 0..size {
             assert_eq!(map.insert(i, 10*i), None);
             assert_eq!(map.len(), i + 1);
         }
 
-        for i in range(0, size) {
+        for i in 0..size {
             assert_eq!(map.get(&i).unwrap(), &(i*10));
         }
 
-        for i in range(size, size*2) {
+        for i in size..size*2 {
             assert_eq!(map.get(&i), None);
         }
 
-        for i in range(0, size) {
+        for i in 0..size {
             assert_eq!(map.insert(i, 100*i), Some(10*i));
             assert_eq!(map.len(), size);
         }
 
-        for i in range(0, size) {
+        for i in 0..size {
             assert_eq!(map.get(&i).unwrap(), &(i*100));
         }
 
-        for i in range(0, size/2) {
+        for i in 0..size/2 {
             assert_eq!(map.remove(&(i*2)), Some(i*200));
             assert_eq!(map.len(), size - i - 1);
         }
 
-        for i in range(0, size/2) {
+        for i in 0..size/2 {
             assert_eq!(map.get(&(2*i)), None);
             assert_eq!(map.get(&(2*i+1)).unwrap(), &(i*200 + 100));
         }
 
-        for i in range(0, size/2) {
+        for i in 0..size/2 {
             assert_eq!(map.remove(&(2*i)), None);
             assert_eq!(map.remove(&(2*i+1)), Some(i*200 + 100));
             assert_eq!(map.len(), size/2 - i - 1);
@@ -1664,7 +1664,7 @@ mod test {
         let mut map: BTreeMap<uint, uint> = (0..size).map(|i| (i, i)).collect();
 
         fn test<T>(size: uint, mut iter: T) where T: Iterator<Item=(uint, uint)> {
-            for i in range(0, size) {
+            for i in 0..size {
                 assert_eq!(iter.size_hint(), (size - i, Some(size - i)));
                 assert_eq!(iter.next().unwrap(), (i, i));
             }
@@ -1684,7 +1684,7 @@ mod test {
         let mut map: BTreeMap<uint, uint> = (0..size).map(|i| (i, i)).collect();
 
         fn test<T>(size: uint, mut iter: T) where T: Iterator<Item=(uint, uint)> {
-            for i in range(0, size) {
+            for i in 0..size {
                 assert_eq!(iter.size_hint(), (size - i, Some(size - i)));
                 assert_eq!(iter.next().unwrap(), (size - i - 1, size - i - 1));
             }
@@ -1705,12 +1705,12 @@ mod test {
 
         fn test<T>(size: uint, mut iter: T)
                 where T: Iterator<Item=(uint, uint)> + DoubleEndedIterator {
-            for i in range(0, size / 4) {
+            for i in 0..size / 4 {
                 assert_eq!(iter.size_hint(), (size - i * 2, Some(size - i * 2)));
                 assert_eq!(iter.next().unwrap(), (i, i));
                 assert_eq!(iter.next_back().unwrap(), (size - i - 1, size - i - 1));
             }
-            for i in range(size / 4, size * 3 / 4) {
+            for i in size / 4..size * 3 / 4 {
                 assert_eq!(iter.size_hint(), (size * 3 / 4 - i, Some(size * 3 / 4 - i)));
                 assert_eq!(iter.next().unwrap(), (i, i));
             }
@@ -1766,8 +1766,8 @@ mod test {
         let size = 200u;
         let map: BTreeMap<uint, uint> = (0..size).map(|i| (i, i)).collect();
 
-        for i in range(0, size) {
-            for j in range(i, size) {
+        for i in 0..size {
+            for j in i..size {
                 let mut kvs = map.range(Included(&i), Included(&j)).map(|(&k, &v)| (k, v));
                 let mut pairs = range_inclusive(i, j).map(|i| (i, i));
 
@@ -1917,7 +1917,7 @@ mod bench {
         let mut map = BTreeMap::<uint, uint>::new();
         let mut rng = weak_rng();
 
-        for _ in range(0, size) {
+        for _ in 0..size {
             map.insert(rng.gen(), rng.gen());
         }
 
diff --git a/src/libcollections/btree/node.rs b/src/libcollections/btree/node.rs
index 95e424fb7a0..ea167348a64 100644
--- a/src/libcollections/btree/node.rs
+++ b/src/libcollections/btree/node.rs
@@ -501,7 +501,7 @@ impl<K: Clone, V: Clone> Clone for Node<K, V> {
 ///     let mut small_node = Node::make_leaf_root(3);
 ///     let mut large_node = Node::make_leaf_root(100);
 ///
-///     for i in range(0, 100) {
+///     for i in 0..100 {
 ///         // Insert to the end
 ///         large_node.edge_handle(i).insert_as_leaf(i, i);
 ///     }
diff --git a/src/libcollections/dlist.rs b/src/libcollections/dlist.rs
index 4ce581b79c4..60f3413ebdc 100644
--- a/src/libcollections/dlist.rs
+++ b/src/libcollections/dlist.rs
@@ -592,7 +592,7 @@ impl<T> DList<T> {
             // instead of skipping using .skip() (which creates a new struct),
             // we skip manually so we can access the head field without
             // depending on implementation details of Skip
-            for _ in range(0, at - 1) {
+            for _ in 0..at - 1 {
                 iter.next();
             }
             iter.head
@@ -1070,10 +1070,10 @@ mod tests {
             let mut n = m.split_off(2);
             assert_eq!(m.len(), 2);
             assert_eq!(n.len(), 3);
-            for elt in range(1i, 3) {
+            for elt in 1i..3 {
                 assert_eq!(m.pop_front(), Some(elt));
             }
-            for elt in range(3i, 6) {
+            for elt in 3i..6 {
                 assert_eq!(n.pop_front(), Some(elt));
             }
         }
@@ -1084,10 +1084,10 @@ mod tests {
             let mut n = m.split_off(4);
             assert_eq!(m.len(), 4);
             assert_eq!(n.len(), 1);
-            for elt in range(1i, 5) {
+            for elt in 1i..5 {
                 assert_eq!(m.pop_front(), Some(elt));
             }
-            for elt in range(5i, 6) {
+            for elt in 5i..6 {
                 assert_eq!(n.pop_front(), Some(elt));
             }
         }
@@ -1325,7 +1325,7 @@ mod tests {
 
     #[test]
     fn test_fuzz() {
-        for _ in range(0u, 25) {
+        for _ in 0u..25 {
             fuzz_test(3);
             fuzz_test(16);
             fuzz_test(189);
@@ -1347,7 +1347,7 @@ mod tests {
     fn fuzz_test(sz: int) {
         let mut m: DList<int> = DList::new();
         let mut v = vec![];
-        for i in range(0, sz) {
+        for i in 0..sz {
             check_links(&m);
             let r: u8 = rand::random();
             match r % 6 {
diff --git a/src/libcollections/ring_buf.rs b/src/libcollections/ring_buf.rs
index fe839e16a1b..6d0911ad9ab 100644
--- a/src/libcollections/ring_buf.rs
+++ b/src/libcollections/ring_buf.rs
@@ -1719,21 +1719,21 @@ mod tests {
     #[test]
     fn test_push_front_grow() {
         let mut deq = RingBuf::new();
-        for i in range(0u, 66) {
+        for i in 0u..66 {
             deq.push_front(i);
         }
         assert_eq!(deq.len(), 66);
 
-        for i in range(0u, 66) {
+        for i in 0u..66 {
             assert_eq!(deq[i], 65 - i);
         }
 
         let mut deq = RingBuf::new();
-        for i in range(0u, 66) {
+        for i in 0u..66 {
             deq.push_back(i);
         }
 
-        for i in range(0u, 66) {
+        for i in 0u..66 {
             assert_eq!(deq[i], i);
         }
     }
@@ -1741,7 +1741,7 @@ mod tests {
     #[test]
     fn test_index() {
         let mut deq = RingBuf::new();
-        for i in range(1u, 4) {
+        for i in 1u..4 {
             deq.push_front(i);
         }
         assert_eq!(deq[1], 2);
@@ -1751,7 +1751,7 @@ mod tests {
     #[should_fail]
     fn test_index_out_of_bounds() {
         let mut deq = RingBuf::new();
-        for i in range(1u, 4) {
+        for i in 1u..4 {
             deq.push_front(i);
         }
         deq[3];
@@ -1769,7 +1769,7 @@ mod tests {
     fn bench_push_back_100(b: &mut test::Bencher) {
         let mut deq = RingBuf::with_capacity(101);
         b.iter(|| {
-            for i in range(0i, 100) {
+            for i in 0i..100 {
                 deq.push_back(i);
             }
             deq.head = 0;
@@ -1781,7 +1781,7 @@ mod tests {
     fn bench_push_front_100(b: &mut test::Bencher) {
         let mut deq = RingBuf::with_capacity(101);
         b.iter(|| {
-            for i in range(0i, 100) {
+            for i in 0i..100 {
                 deq.push_front(i);
             }
             deq.head = 0;
@@ -1819,7 +1819,7 @@ mod tests {
     fn bench_grow_1025(b: &mut test::Bencher) {
         b.iter(|| {
             let mut deq = RingBuf::new();
-            for i in range(0i, 1025) {
+            for i in 0i..1025 {
                 deq.push_front(i);
             }
             test::black_box(deq);
@@ -1989,7 +1989,7 @@ mod tests {
         assert_eq!(d.iter().next(), None);
         assert_eq!(d.iter().size_hint(), (0, Some(0)));
 
-        for i in range(0i, 5) {
+        for i in 0i..5 {
             d.push_back(i);
         }
         {
@@ -1997,7 +1997,7 @@ mod tests {
             assert_eq!(d.iter().collect::<Vec<&int>>(), b);
         }
 
-        for i in range(6i, 9) {
+        for i in 6i..9 {
             d.push_front(i);
         }
         {
@@ -2020,7 +2020,7 @@ mod tests {
         let mut d = RingBuf::new();
         assert_eq!(d.iter().rev().next(), None);
 
-        for i in range(0i, 5) {
+        for i in 0i..5 {
             d.push_back(i);
         }
         {
@@ -2028,7 +2028,7 @@ mod tests {
             assert_eq!(d.iter().rev().collect::<Vec<&int>>(), b);
         }
 
-        for i in range(6i, 9) {
+        for i in 6i..9 {
             d.push_front(i);
         }
         let b: &[_] = &[&4,&3,&2,&1,&0,&6,&7,&8];
@@ -2055,7 +2055,7 @@ mod tests {
         let mut d = RingBuf::new();
         assert!(d.iter_mut().next().is_none());
 
-        for i in range(0u, 3) {
+        for i in 0u..3 {
             d.push_front(i);
         }
 
@@ -2078,7 +2078,7 @@ mod tests {
         let mut d = RingBuf::new();
         assert!(d.iter_mut().rev().next().is_none());
 
-        for i in range(0u, 3) {
+        for i in 0u..3 {
             d.push_front(i);
         }
 
@@ -2112,7 +2112,7 @@ mod tests {
         // simple iter
         {
             let mut d = RingBuf::new();
-            for i in range(0i, 5) {
+            for i in 0i..5 {
                 d.push_back(i);
             }
 
@@ -2123,10 +2123,10 @@ mod tests {
         // wrapped iter
         {
             let mut d = RingBuf::new();
-            for i in range(0i, 5) {
+            for i in 0i..5 {
                 d.push_back(i);
             }
-            for i in range(6, 9) {
+            for i in 6..9 {
                 d.push_front(i);
             }
 
@@ -2137,10 +2137,10 @@ mod tests {
         // partially used
         {
             let mut d = RingBuf::new();
-            for i in range(0i, 5) {
+            for i in 0i..5 {
                 d.push_back(i);
             }
-            for i in range(6, 9) {
+            for i in 6..9 {
                 d.push_front(i);
             }
 
@@ -2176,7 +2176,7 @@ mod tests {
         // simple iter
         {
             let mut d = RingBuf::new();
-            for i in range(0i, 5) {
+            for i in 0i..5 {
                 d.push_back(i);
             }
 
@@ -2187,10 +2187,10 @@ mod tests {
         // wrapped iter
         {
             let mut d = RingBuf::new();
-            for i in range(0i, 5) {
+            for i in 0i..5 {
                 d.push_back(i);
             }
-            for i in range(6, 9) {
+            for i in 6..9 {
                 d.push_front(i);
             }
 
@@ -2201,10 +2201,10 @@ mod tests {
         // partially used
         {
             let mut d = RingBuf::new();
-            for i in range(0i, 5) {
+            for i in 0i..5 {
                 d.push_back(i);
             }
-            for i in range(6, 9) {
+            for i in 6..9 {
                 d.push_front(i);
             }
 
@@ -2389,41 +2389,41 @@ mod tests {
         // test growth path A
         // [T o o H] -> [T o o H . . . . ]
         let mut ring = RingBuf::with_capacity(4);
-        for i in range(0i, 3) {
+        for i in 0i..3 {
             ring.push_back(i);
         }
         ring.reserve(7);
-        for i in range(0i, 3) {
+        for i in 0i..3 {
             assert_eq!(ring.pop_front(), Some(i));
         }
 
         // test growth path B
         // [H T o o] -> [. T o o H . . . ]
         let mut ring = RingBuf::with_capacity(4);
-        for i in range(0i, 1) {
+        for i in 0i..1 {
             ring.push_back(i);
             assert_eq!(ring.pop_front(), Some(i));
         }
-        for i in range(0i, 3) {
+        for i in 0i..3 {
             ring.push_back(i);
         }
         ring.reserve(7);
-        for i in range(0i, 3) {
+        for i in 0i..3 {
             assert_eq!(ring.pop_front(), Some(i));
         }
 
         // test growth path C
         // [o o H T] -> [o o H . . . . T ]
         let mut ring = RingBuf::with_capacity(4);
-        for i in range(0i, 3) {
+        for i in 0i..3 {
             ring.push_back(i);
             assert_eq!(ring.pop_front(), Some(i));
         }
-        for i in range(0i, 3) {
+        for i in 0i..3 {
             ring.push_back(i);
         }
         ring.reserve(7);
-        for i in range(0i, 3) {
+        for i in 0i..3 {
             assert_eq!(ring.pop_front(), Some(i));
         }
     }
@@ -2463,7 +2463,7 @@ mod tests {
     #[test]
     fn test_get_mut() {
         let mut ring = RingBuf::new();
-        for i in range(0i, 3) {
+        for i in 0i..3 {
             ring.push_back(i);
         }
 
@@ -2492,27 +2492,27 @@ mod tests {
             let usable_cap = tester.capacity();
             let final_len = usable_cap / 2;
 
-            for len in range(0, final_len) {
+            for len in 0..final_len {
                 let expected = if back {
                     (0..len).collect()
                 } else {
                     (0..len).rev().collect()
                 };
-                for tail_pos in range(0, usable_cap) {
+                for tail_pos in 0..usable_cap {
                     tester.tail = tail_pos;
                     tester.head = tail_pos;
                     if back {
-                        for i in range(0, len * 2) {
+                        for i in 0..len * 2 {
                             tester.push_front(i);
                         }
-                        for i in range(0, len) {
+                        for i in 0..len {
                             assert_eq!(tester.swap_back_remove(i), Some(len * 2 - 1 - i));
                         }
                     } else {
-                        for i in range(0, len * 2) {
+                        for i in 0..len * 2 {
                             tester.push_back(i);
                         }
-                        for i in range(0, len) {
+                        for i in 0..len {
                             let idx = tester.len() - 1 - i;
                             assert_eq!(tester.swap_front_remove(idx), Some(len * 2 - 1 - i));
                         }
@@ -2540,14 +2540,14 @@ mod tests {
 
 
         // len is the length *after* insertion
-        for len in range(1, cap) {
+        for len in 1..cap {
             // 0, 1, 2, .., len - 1
             let expected = iter::count(0, 1).take(len).collect();
-            for tail_pos in range(0, cap) {
-                for to_insert in range(0, len) {
+            for tail_pos in 0..cap {
+                for to_insert in 0..len {
                     tester.tail = tail_pos;
                     tester.head = tail_pos;
-                    for i in range(0, len) {
+                    for i in 0..len {
                         if i != to_insert {
                             tester.push_back(i);
                         }
@@ -2573,14 +2573,14 @@ mod tests {
         let cap = tester.capacity();
 
         // len is the length *after* removal
-        for len in range(0, cap - 1) {
+        for len in 0..cap - 1 {
             // 0, 1, 2, .., len - 1
             let expected = iter::count(0, 1).take(len).collect();
-            for tail_pos in range(0, cap) {
-                for to_remove in range(0, len + 1) {
+            for tail_pos in 0..cap {
+                for to_remove in 0..len + 1 {
                     tester.tail = tail_pos;
                     tester.head = tail_pos;
-                    for i in range(0, len) {
+                    for i in 0..len {
                         if i == to_remove {
                             tester.push_back(1234);
                         }
@@ -2611,14 +2611,14 @@ mod tests {
         tester.reserve(63);
         let max_cap = tester.capacity();
 
-        for len in range(0, cap + 1) {
+        for len in 0..cap + 1 {
             // 0, 1, 2, .., len - 1
             let expected = iter::count(0, 1).take(len).collect();
-            for tail_pos in range(0, max_cap + 1) {
+            for tail_pos in 0..max_cap + 1 {
                 tester.tail = tail_pos;
                 tester.head = tail_pos;
                 tester.reserve(63);
-                for i in range(0, len) {
+                for i in 0..len {
                     tester.push_back(i);
                 }
                 tester.shrink_to_fit();
@@ -2648,7 +2648,7 @@ mod tests {
         let cap = ring.capacity() as int;
         let first = cap/2;
         let last  = cap - first;
-        for i in range(0, first) {
+        for i in 0..first {
             ring.push_back(i);
 
             let (left, right) = ring.as_slices();
@@ -2657,7 +2657,7 @@ mod tests {
             assert_eq!(right, []);
         }
 
-        for j in range(-last, 0) {
+        for j in -last..0 {
             ring.push_front(j);
             let (left, right) = ring.as_slices();
             let expected_left: Vec<_> = (-last..j+1).rev().collect();
@@ -2676,7 +2676,7 @@ mod tests {
         let cap = ring.capacity() as int;
         let first = cap/2;
         let last  = cap - first;
-        for i in range(0, first) {
+        for i in 0..first {
             ring.push_back(i);
 
             let (left, right) = ring.as_mut_slices();
@@ -2685,7 +2685,7 @@ mod tests {
             assert_eq!(right, []);
         }
 
-        for j in range(-last, 0) {
+        for j in -last..0 {
             ring.push_front(j);
             let (left, right) = ring.as_mut_slices();
             let expected_left: Vec<_> = (-last..j+1).rev().collect();
diff --git a/src/libcollections/slice.rs b/src/libcollections/slice.rs
index bd07f354fbb..8f8f9588924 100644
--- a/src/libcollections/slice.rs
+++ b/src/libcollections/slice.rs
@@ -1305,7 +1305,7 @@ fn insertion_sort<T, F>(v: &mut [T], mut compare: F) where F: FnMut(&T, &T) -> O
     let buf_v = v.as_mut_ptr();
 
     // 1 <= i < len;
-    for i in range(1, len) {
+    for i in 1..len {
         // j satisfies: 0 <= j <= i;
         let mut j = i;
         unsafe {
@@ -2097,8 +2097,8 @@ mod tests {
 
     #[test]
     fn test_sort() {
-        for len in range(4u, 25) {
-            for _ in range(0i, 100) {
+        for len in 4u..25 {
+            for _ in 0i..100 {
                 let mut v = thread_rng().gen_iter::<uint>().take(len)
                                       .collect::<Vec<uint>>();
                 let mut v1 = v.clone();
@@ -2125,8 +2125,8 @@ mod tests {
 
     #[test]
     fn test_sort_stability() {
-        for len in range(4i, 25) {
-            for _ in range(0u, 10) {
+        for len in 4i..25 {
+            for _ in 0u..10 {
                 let mut counts = [0i; 10];
 
                 // create a vector like [(6, 1), (5, 1), (6, 2), ...],
@@ -2717,7 +2717,7 @@ mod tests {
     #[test]
     fn test_shrink_to_fit() {
         let mut xs = vec![0, 1, 2, 3];
-        for i in range(4i, 100) {
+        for i in 4i..100 {
             xs.push(i)
         }
         assert_eq!(xs.capacity(), 128);
@@ -2993,7 +2993,7 @@ mod bench {
             unsafe {
                 v.set_len(1024);
             }
-            for i in range(0u, 1024) {
+            for i in 0u..1024 {
                 v[i] = 0;
             }
         });
@@ -3018,7 +3018,7 @@ mod bench {
         let mut rng = weak_rng();
         b.iter(|| {
             let mut v = repeat((0u, 0u)).take(30).collect::<Vec<_>>();
-            for _ in range(0u, 100) {
+            for _ in 0u..100 {
                 let l = v.len();
                 v.insert(rng.gen::<uint>() % (l + 1),
                          (1, 1));
@@ -3030,7 +3030,7 @@ mod bench {
         let mut rng = weak_rng();
         b.iter(|| {
             let mut v = repeat((0u, 0u)).take(130).collect::<Vec<_>>();
-            for _ in range(0u, 100) {
+            for _ in 0u..100 {
                 let l = v.len();
                 v.remove(rng.gen::<uint>() % l);
             }
diff --git a/src/libcollections/str.rs b/src/libcollections/str.rs
index cfc8218dc1c..e560f29f36a 100644
--- a/src/libcollections/str.rs
+++ b/src/libcollections/str.rs
@@ -142,9 +142,9 @@ Section: Iterators
 // Helper functions used for Unicode normalization
 fn canonical_sort(comb: &mut [(char, u8)]) {
     let len = comb.len();
-    for i in range(0, len) {
+    for i in 0..len {
         let mut swapped = false;
-        for j in range(1, len-i) {
+        for j in 1..len-i {
             let class_a = comb[j-1].1;
             let class_b = comb[j].1;
             if class_a != 0 && class_b != 0 && class_a > class_b {
diff --git a/src/libcollections/string.rs b/src/libcollections/string.rs
index 80b8d4f1cc8..36688652a47 100644
--- a/src/libcollections/string.rs
+++ b/src/libcollections/string.rs
@@ -1354,7 +1354,7 @@ mod tests {
         b.bytes = REPETITIONS;
         b.iter(|| {
             let mut r = String::new();
-            for _ in range(0, REPETITIONS) {
+            for _ in 0..REPETITIONS {
                 r.push_str("a")
             }
         });
@@ -1365,7 +1365,7 @@ mod tests {
         b.bytes = REPETITIONS;
         b.iter(|| {
             let mut r = String::new();
-            for _ in range(0, REPETITIONS) {
+            for _ in 0..REPETITIONS {
                 r.push('a')
             }
         });
@@ -1376,7 +1376,7 @@ mod tests {
         b.bytes = REPETITIONS * 2;
         b.iter(|| {
             let mut r = String::new();
-            for _ in range(0, REPETITIONS) {
+            for _ in 0..REPETITIONS {
                 r.push('â')
             }
         });
diff --git a/src/libcollections/vec.rs b/src/libcollections/vec.rs
index 99ad6deae7b..8775a6d1120 100644
--- a/src/libcollections/vec.rs
+++ b/src/libcollections/vec.rs
@@ -186,7 +186,7 @@ impl<T> Vec<T> {
     /// assert_eq!(vec.len(), 0);
     ///
     /// // These are all done without reallocating...
-    /// for i in range(0i, 10) {
+    /// for i in 0i..10 {
     ///     vec.push(i);
     /// }
     ///
@@ -233,7 +233,7 @@ impl<T> Vec<T> {
     ///         mem::forget(v);
     ///
     ///         // Overwrite memory with 4, 5, 6
-    ///         for i in range(0, len as int) {
+    ///         for i in 0..len as int {
     ///             ptr::write(p.offset(i), 4 + i);
     ///         }
     ///
@@ -605,7 +605,7 @@ impl<T> Vec<T> {
         {
             let v = self.as_mut_slice();
 
-            for i in range(0u, len) {
+            for i in 0u..len {
                 if !f(&v[i]) {
                     del += 1;
                 } else if del > 0 {
@@ -1969,7 +1969,7 @@ mod tests {
         v.reserve(2);
         assert!(v.capacity() >= 2);
 
-        for i in range(0i, 16) {
+        for i in 0i..16 {
             v.push(i);
         }
 
@@ -1989,12 +1989,12 @@ mod tests {
         let mut w = Vec::new();
 
         v.extend(range(0i, 3));
-        for i in range(0i, 3) { w.push(i) }
+        for i in 0i..3 { w.push(i) }
 
         assert_eq!(v, w);
 
         v.extend(range(3i, 10));
-        for i in range(3i, 10) { w.push(i) }
+        for i in 3i..10 { w.push(i) }
 
         assert_eq!(v, w);
     }
@@ -2750,7 +2750,7 @@ mod tests {
         b.iter(|| {
             let mut dst = dst.clone();
 
-            for _ in range(0, times) {
+            for _ in 0..times {
                 dst.clone_from(&src);
 
                 assert_eq!(dst.len(), src_len);
diff --git a/src/libcore/fmt/mod.rs b/src/libcore/fmt/mod.rs
index 06428ad2f39..e4101c104ee 100644
--- a/src/libcore/fmt/mod.rs
+++ b/src/libcore/fmt/mod.rs
@@ -596,13 +596,13 @@ impl<'a> Formatter<'a> {
         let len = self.fill.encode_utf8(&mut fill).unwrap_or(0);
         let fill = unsafe { str::from_utf8_unchecked(&fill[..len]) };
 
-        for _ in range(0, pre_pad) {
+        for _ in 0..pre_pad {
             try!(self.buf.write_str(fill));
         }
 
         try!(f(self));
 
-        for _ in range(0, post_pad) {
+        for _ in 0..post_pad {
             try!(self.buf.write_str(fill));
         }
 
diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs
index 173bfbaca6b..5ef5ac95e24 100644
--- a/src/libcore/iter.rs
+++ b/src/libcore/iter.rs
@@ -1509,9 +1509,9 @@ impl<T, U, A, B> DoubleEndedIterator for Zip<A, B> where
         if a_sz != b_sz {
             // Adjust a, b to equal length
             if a_sz > b_sz {
-                for _ in range(0, a_sz - b_sz) { self.a.next_back(); }
+                for _ in 0..a_sz - b_sz { self.a.next_back(); }
             } else {
-                for _ in range(0, b_sz - a_sz) { self.b.next_back(); }
+                for _ in 0..b_sz - a_sz { self.b.next_back(); }
             }
         }
         match (self.a.next_back(), self.b.next_back()) {
@@ -2539,7 +2539,7 @@ pub struct Range<A> {
 /// ```
 /// let array = [0, 1, 2, 3, 4];
 ///
-/// for i in range(0, 5) {
+/// for i in 0..5 {
 ///     println!("{}", i);
 ///     assert_eq!(i,  array[i]);
 /// }
diff --git a/src/libcore/slice.rs b/src/libcore/slice.rs
index a113a34ef35..b1e9084d210 100644
--- a/src/libcore/slice.rs
+++ b/src/libcore/slice.rs
@@ -482,7 +482,7 @@ impl<T> SliceExt for [T] {
         let min = cmp::min(self.len(), src.len());
         let dst = &mut self[.. min];
         let src = &src[.. min];
-        for i in range(0, min) {
+        for i in 0..min {
             dst[i].clone_from(&src[i]);
         }
         min
diff --git a/src/libcoretest/iter.rs b/src/libcoretest/iter.rs
index da2b053efda..fe8a12436ff 100644
--- a/src/libcoretest/iter.rs
+++ b/src/libcoretest/iter.rs
@@ -903,7 +903,7 @@ fn bench_multiple_take(b: &mut Bencher) {
     let mut it = (0u..42).cycle();
     b.iter(|| {
         let n = it.next().unwrap();
-        for _ in range(0u, n) {
+        for _ in 0u..n {
             it.take(it.next().unwrap()).all(|_| true);
         }
     });
diff --git a/src/libflate/lib.rs b/src/libflate/lib.rs
index 5f3a68a9e34..5c868ce6910 100644
--- a/src/libflate/lib.rs
+++ b/src/libflate/lib.rs
@@ -138,14 +138,14 @@ mod tests {
     fn test_flate_round_trip() {
         let mut r = rand::thread_rng();
         let mut words = vec!();
-        for _ in range(0u, 20) {
+        for _ in 0u..20 {
             let range = r.gen_range(1u, 10);
             let v = r.gen_iter::<u8>().take(range).collect::<Vec<u8>>();
             words.push(v);
         }
-        for _ in range(0u, 20) {
+        for _ in 0u..20 {
             let mut input = vec![];
-            for _ in range(0u, 2000) {
+            for _ in 0u..2000 {
                 input.push_all(r.choose(words.as_slice()).unwrap().as_slice());
             }
             debug!("de/inflate of {} bytes of random word-sequences",
diff --git a/src/libgetopts/lib.rs b/src/libgetopts/lib.rs
index 3db79f2ba1f..425b1c5b014 100644
--- a/src/libgetopts/lib.rs
+++ b/src/libgetopts/lib.rs
@@ -693,7 +693,7 @@ pub fn getopts(args: &[String], optgrps: &[OptGroup]) -> Result {
         }
         i += 1;
     }
-    for i in range(0u, n_opts) {
+    for i in 0u..n_opts {
         let n = vals[i].len();
         let occ = opts[i].occur;
         if occ == Req && n == 0 {
@@ -761,7 +761,7 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String {
         // here we just need to indent the start of the description
         let rowlen = row.chars().count();
         if rowlen < 24 {
-            for _ in range(0, 24 - rowlen) {
+            for _ in 0..24 - rowlen {
                 row.push(' ');
             }
         } else {
diff --git a/src/librand/chacha.rs b/src/librand/chacha.rs
index 37276d90171..6bd971e7b5d 100644
--- a/src/librand/chacha.rs
+++ b/src/librand/chacha.rs
@@ -69,11 +69,11 @@ macro_rules! double_round{
 fn core(output: &mut [u32; STATE_WORDS], input: &[u32; STATE_WORDS]) {
     *output = *input;
 
-    for _ in range(0, CHACHA_ROUNDS / 2) {
+    for _ in 0..CHACHA_ROUNDS / 2 {
         double_round!(output);
     }
 
-    for i in range(0, STATE_WORDS) {
+    for i in 0..STATE_WORDS {
         output[i] += input[i];
     }
 }
@@ -128,7 +128,7 @@ impl ChaChaRng {
         self.state[2] = 0x79622D32;
         self.state[3] = 0x6B206574;
 
-        for i in range(0, KEY_WORDS) {
+        for i in 0..KEY_WORDS {
             self.state[4+i] = key[i];
         }
 
@@ -268,9 +268,9 @@ mod test {
         // Store the 17*i-th 32-bit word,
         // i.e., the i-th word of the i-th 16-word block
         let mut v : Vec<u32> = Vec::new();
-        for _ in range(0u, 16) {
+        for _ in 0u..16 {
             v.push(ra.next_u32());
-            for _ in range(0u, 16) {
+            for _ in 0u..16 {
                 ra.next_u32();
             }
         }
@@ -287,7 +287,7 @@ mod test {
         let seed : &[_] = &[0u32; 8];
         let mut rng: ChaChaRng = SeedableRng::from_seed(seed);
         let mut clone = rng.clone();
-        for _ in range(0u, 16) {
+        for _ in 0u..16 {
             assert_eq!(rng.next_u64(), clone.next_u64());
         }
     }
diff --git a/src/librand/distributions/exponential.rs b/src/librand/distributions/exponential.rs
index 580f8897885..d7f80c00c90 100644
--- a/src/librand/distributions/exponential.rs
+++ b/src/librand/distributions/exponential.rs
@@ -103,7 +103,7 @@ mod test {
     fn test_exp() {
         let mut exp = Exp::new(10.0);
         let mut rng = ::test::rng();
-        for _ in range(0u, 1000) {
+        for _ in 0u..1000 {
             assert!(exp.sample(&mut rng) >= 0.0);
             assert!(exp.ind_sample(&mut rng) >= 0.0);
         }
@@ -137,7 +137,7 @@ mod bench {
         let mut exp = Exp::new(2.71828 * 3.14159);
 
         b.iter(|| {
-            for _ in range(0, ::RAND_BENCH_N) {
+            for _ in 0..::RAND_BENCH_N {
                 exp.sample(&mut rng);
             }
         });
diff --git a/src/librand/distributions/gamma.rs b/src/librand/distributions/gamma.rs
index 378029d1f9b..19586cbbd69 100644
--- a/src/librand/distributions/gamma.rs
+++ b/src/librand/distributions/gamma.rs
@@ -332,7 +332,7 @@ mod test {
     fn test_chi_squared_one() {
         let mut chi = ChiSquared::new(1.0);
         let mut rng = ::test::rng();
-        for _ in range(0u, 1000) {
+        for _ in 0u..1000 {
             chi.sample(&mut rng);
             chi.ind_sample(&mut rng);
         }
@@ -341,7 +341,7 @@ mod test {
     fn test_chi_squared_small() {
         let mut chi = ChiSquared::new(0.5);
         let mut rng = ::test::rng();
-        for _ in range(0u, 1000) {
+        for _ in 0u..1000 {
             chi.sample(&mut rng);
             chi.ind_sample(&mut rng);
         }
@@ -350,7 +350,7 @@ mod test {
     fn test_chi_squared_large() {
         let mut chi = ChiSquared::new(30.0);
         let mut rng = ::test::rng();
-        for _ in range(0u, 1000) {
+        for _ in 0u..1000 {
             chi.sample(&mut rng);
             chi.ind_sample(&mut rng);
         }
@@ -365,7 +365,7 @@ mod test {
     fn test_f() {
         let mut f = FisherF::new(2.0, 32.0);
         let mut rng = ::test::rng();
-        for _ in range(0u, 1000) {
+        for _ in 0u..1000 {
             f.sample(&mut rng);
             f.ind_sample(&mut rng);
         }
@@ -375,7 +375,7 @@ mod test {
     fn test_t() {
         let mut t = StudentT::new(11.0);
         let mut rng = ::test::rng();
-        for _ in range(0u, 1000) {
+        for _ in 0u..1000 {
             t.sample(&mut rng);
             t.ind_sample(&mut rng);
         }
@@ -398,7 +398,7 @@ mod bench {
         let mut rng = ::test::weak_rng();
 
         b.iter(|| {
-            for _ in range(0, ::RAND_BENCH_N) {
+            for _ in 0..::RAND_BENCH_N {
                 gamma.ind_sample(&mut rng);
             }
         });
@@ -411,7 +411,7 @@ mod bench {
         let mut rng = ::test::weak_rng();
 
         b.iter(|| {
-            for _ in range(0, ::RAND_BENCH_N) {
+            for _ in 0..::RAND_BENCH_N {
                 gamma.ind_sample(&mut rng);
             }
         });
diff --git a/src/librand/distributions/mod.rs b/src/librand/distributions/mod.rs
index 25c205b2bf2..77157e2c8ba 100644
--- a/src/librand/distributions/mod.rs
+++ b/src/librand/distributions/mod.rs
@@ -97,7 +97,7 @@ pub struct Weighted<T> {
 ///                      Weighted { weight: 1, item: 'c' });
 /// let wc = WeightedChoice::new(items.as_mut_slice());
 /// let mut rng = rand::thread_rng();
-/// for _ in range(0u, 16) {
+/// for _ in 0u..16 {
 ///      // on average prints 'a' 4 times, 'b' 8 and 'c' twice.
 ///      println!("{}", wc.ind_sample(&mut rng));
 /// }
diff --git a/src/librand/distributions/normal.rs b/src/librand/distributions/normal.rs
index 2e1a433eb07..8fda21e604d 100644
--- a/src/librand/distributions/normal.rs
+++ b/src/librand/distributions/normal.rs
@@ -169,7 +169,7 @@ mod tests {
     fn test_normal() {
         let mut norm = Normal::new(10.0, 10.0);
         let mut rng = ::test::rng();
-        for _ in range(0u, 1000) {
+        for _ in 0u..1000 {
             norm.sample(&mut rng);
             norm.ind_sample(&mut rng);
         }
@@ -185,7 +185,7 @@ mod tests {
     fn test_log_normal() {
         let mut lnorm = LogNormal::new(10.0, 10.0);
         let mut rng = ::test::rng();
-        for _ in range(0u, 1000) {
+        for _ in 0u..1000 {
             lnorm.sample(&mut rng);
             lnorm.ind_sample(&mut rng);
         }
@@ -212,7 +212,7 @@ mod bench {
         let mut normal = Normal::new(-2.71828, 3.14159);
 
         b.iter(|| {
-            for _ in range(0, ::RAND_BENCH_N) {
+            for _ in 0..::RAND_BENCH_N {
                 normal.sample(&mut rng);
             }
         });
diff --git a/src/librand/distributions/range.rs b/src/librand/distributions/range.rs
index 1002d9693ba..e8dedeb8d60 100644
--- a/src/librand/distributions/range.rs
+++ b/src/librand/distributions/range.rs
@@ -41,7 +41,7 @@ use distributions::{Sample, IndependentSample};
 ///     let between = Range::new(10u, 10000u);
 ///     let mut rng = std::rand::thread_rng();
 ///     let mut sum = 0;
-///     for _ in range(0u, 1000) {
+///     for _ in 0u..1000 {
 ///         sum += between.ind_sample(&mut rng);
 ///     }
 ///     println!("{}", sum);
@@ -190,7 +190,7 @@ mod tests {
                                             (Int::min_value(), Int::max_value())];
                    for &(low, high) in v.iter() {
                         let mut sampler: Range<$ty> = Range::new(low, high);
-                        for _ in range(0u, 1000) {
+                        for _ in 0u..1000 {
                             let v = sampler.sample(&mut rng);
                             assert!(low <= v && v < high);
                             let v = sampler.ind_sample(&mut rng);
@@ -216,7 +216,7 @@ mod tests {
                                             (-1e35, 1e35)];
                    for &(low, high) in v.iter() {
                         let mut sampler: Range<$ty> = Range::new(low, high);
-                        for _ in range(0u, 1000) {
+                        for _ in 0u..1000 {
                             let v = sampler.sample(&mut rng);
                             assert!(low <= v && v < high);
                             let v = sampler.ind_sample(&mut rng);
diff --git a/src/librand/isaac.rs b/src/librand/isaac.rs
index a8dbcb387a7..a22ef704fa5 100644
--- a/src/librand/isaac.rs
+++ b/src/librand/isaac.rs
@@ -82,7 +82,7 @@ impl IsaacRng {
             }}
         }
 
-        for _ in range(0u, 4) {
+        for _ in 0u..4 {
             mix!();
         }
 
@@ -323,7 +323,7 @@ impl Isaac64Rng {
             }}
         }
 
-        for _ in range(0u, 4) {
+        for _ in 0u..4 {
             mix!();
         }
 
@@ -581,7 +581,7 @@ mod test {
         let seed: &[_] = &[12345, 67890, 54321, 9876];
         let mut rb: IsaacRng = SeedableRng::from_seed(seed);
         // skip forward to the 10000th number
-        for _ in range(0u, 10000) { rb.next_u32(); }
+        for _ in 0u..10000 { rb.next_u32(); }
 
         let v = (0..10).map(|_| rb.next_u32()).collect::<Vec<_>>();
         assert_eq!(v,
@@ -603,7 +603,7 @@ mod test {
         let seed: &[_] = &[12345, 67890, 54321, 9876];
         let mut rb: Isaac64Rng = SeedableRng::from_seed(seed);
         // skip forward to the 10000th number
-        for _ in range(0u, 10000) { rb.next_u64(); }
+        for _ in 0u..10000 { rb.next_u64(); }
 
         let v = (0..10).map(|_| rb.next_u64()).collect::<Vec<_>>();
         assert_eq!(v,
@@ -618,7 +618,7 @@ mod test {
         let seed: &[_] = &[1, 23, 456, 7890, 12345];
         let mut rng: Isaac64Rng = SeedableRng::from_seed(seed);
         let mut clone = rng.clone();
-        for _ in range(0u, 16) {
+        for _ in 0u..16 {
             assert_eq!(rng.next_u64(), clone.next_u64());
         }
     }
diff --git a/src/librand/rand_impls.rs b/src/librand/rand_impls.rs
index c331807c1b9..3d2368a4a91 100644
--- a/src/librand/rand_impls.rs
+++ b/src/librand/rand_impls.rs
@@ -241,7 +241,7 @@ mod tests {
         // this is unlikely to catch an incorrect implementation that
         // generates exactly 0 or 1, but it keeps it sane.
         let mut rng = thread_rng();
-        for _ in range(0u, 1_000) {
+        for _ in 0u..1_000 {
             // strict inequalities
             let Open01(f) = rng.gen::<Open01<f64>>();
             assert!(0.0 < f && f < 1.0);
@@ -254,7 +254,7 @@ mod tests {
     #[test]
     fn rand_closed() {
         let mut rng = thread_rng();
-        for _ in range(0u, 1_000) {
+        for _ in 0u..1_000 {
             // strict inequalities
             let Closed01(f) = rng.gen::<Closed01<f64>>();
             assert!(0.0 <= f && f <= 1.0);
diff --git a/src/librand/reseeding.rs b/src/librand/reseeding.rs
index 10c71cff5be..57e90139876 100644
--- a/src/librand/reseeding.rs
+++ b/src/librand/reseeding.rs
@@ -187,7 +187,7 @@ mod test {
         let mut rs = ReseedingRng::new(Counter {i:0}, 400, ReseedWithDefault);
 
         let mut i = 0;
-        for _ in range(0u, 1000) {
+        for _ in 0u..1000 {
             assert_eq!(rs.next_u32(), i % 100);
             i += 1;
         }
diff --git a/src/librbml/io.rs b/src/librbml/io.rs
index 13ddad1fee2..fff28a95c4e 100644
--- a/src/librbml/io.rs
+++ b/src/librbml/io.rs
@@ -189,7 +189,7 @@ mod tests {
         b.bytes = (times * len) as u64;
         b.iter(|| {
             let mut wr = SeekableMemWriter::new();
-            for _ in range(0, times) {
+            for _ in 0..times {
                 wr.write(src.as_slice()).unwrap();
             }
 
diff --git a/src/librustc/lint/context.rs b/src/librustc/lint/context.rs
index 3a103e42101..f57d7956edf 100644
--- a/src/librustc/lint/context.rs
+++ b/src/librustc/lint/context.rs
@@ -540,7 +540,7 @@ impl<'a, 'tcx> Context<'a, 'tcx> {
         run_lints!(self, exit_lint_attrs, attrs);
 
         // rollback
-        for _ in range(0, pushed) {
+        for _ in 0..pushed {
             let (lint, lvlsrc) = self.level_stack.pop().unwrap();
             self.lints.set_level(lint, lvlsrc);
         }
diff --git a/src/librustc/middle/astencode.rs b/src/librustc/middle/astencode.rs
index af41844b2df..8fcf06e0bad 100644
--- a/src/librustc/middle/astencode.rs
+++ b/src/librustc/middle/astencode.rs
@@ -1293,7 +1293,7 @@ fn encode_side_tables_for_id(ecx: &e::EncodeContext,
             }
             ty::AdjustDerefRef(ref adj) => {
                 assert!(!ty::adjust_is_object(adjustment));
-                for autoderef in range(0, adj.autoderefs) {
+                for autoderef in 0..adj.autoderefs {
                     let method_call = MethodCall::autoderef(id, autoderef);
                     for &method in tcx.method_map.borrow().get(&method_call).iter() {
                         rbml_w.tag(c::tag_table_method_map, |rbml_w| {
@@ -1529,7 +1529,7 @@ impl<'a, 'tcx> rbml_decoder_decoder_helpers<'tcx> for reader::Decoder<'a> {
 
         fn type_string(doc: rbml::Doc) -> String {
             let mut str = String::new();
-            for i in range(doc.start, doc.end) {
+            for i in doc.start..doc.end {
                 str.push(doc.data[i] as char);
             }
             str
diff --git a/src/librustc/middle/dataflow.rs b/src/librustc/middle/dataflow.rs
index d3c843d1d50..7b3530c129a 100644
--- a/src/librustc/middle/dataflow.rs
+++ b/src/librustc/middle/dataflow.rs
@@ -352,7 +352,7 @@ impl<'a, 'tcx, O:DataFlowOperator> DataFlowContext<'a, 'tcx, O> {
         for (word_index, &word) in words.iter().enumerate() {
             if word != 0 {
                 let base_index = word_index * uint::BITS;
-                for offset in range(0u, uint::BITS) {
+                for offset in 0u..uint::BITS {
                     let bit = 1 << offset;
                     if (word & bit) != 0 {
                         // NB: we round up the total number of bits
@@ -552,7 +552,7 @@ fn bits_to_string(words: &[uint]) -> String {
 
     for &word in words.iter() {
         let mut v = word;
-        for _ in range(0u, uint::BYTES) {
+        for _ in 0u..uint::BYTES {
             result.push(sep);
             result.push_str(&format!("{:02x}", v & 0xFF)[]);
             v >>= 8;
diff --git a/src/librustc/middle/expr_use_visitor.rs b/src/librustc/middle/expr_use_visitor.rs
index 70a7b4f13cc..430381696c0 100644
--- a/src/librustc/middle/expr_use_visitor.rs
+++ b/src/librustc/middle/expr_use_visitor.rs
@@ -842,7 +842,7 @@ impl<'d,'t,'tcx,TYPER:mc::Typer<'tcx>> ExprUseVisitor<'d,'t,'tcx,TYPER> {
                        autoderefs: uint) {
         debug!("walk_autoderefs expr={} autoderefs={}", expr.repr(self.tcx()), autoderefs);
 
-        for i in range(0, autoderefs) {
+        for i in 0..autoderefs {
             let deref_id = ty::MethodCall::autoderef(expr.id, i);
             match self.typer.node_method_ty(deref_id) {
                 None => {}
diff --git a/src/librustc/middle/infer/combine.rs b/src/librustc/middle/infer/combine.rs
index 04b3b55df8d..e286855c285 100644
--- a/src/librustc/middle/infer/combine.rs
+++ b/src/librustc/middle/infer/combine.rs
@@ -176,7 +176,7 @@ pub trait Combine<'tcx> : Sized {
             assert_eq!(num_region_params, a_rs.len());
             assert_eq!(num_region_params, b_rs.len());
             let mut rs = vec!();
-            for i in range(0, num_region_params) {
+            for i in 0..num_region_params {
                 let a_r = a_rs[i];
                 let b_r = b_rs[i];
                 let variance = variances[i];
diff --git a/src/librustc/middle/infer/error_reporting.rs b/src/librustc/middle/infer/error_reporting.rs
index 7941e3f79f7..a236eb807ec 100644
--- a/src/librustc/middle/infer/error_reporting.rs
+++ b/src/librustc/middle/infer/error_reporting.rs
@@ -1347,7 +1347,7 @@ impl<'a, 'tcx> Rebuilder<'a, 'tcx> {
                         indexes.contains(&i)
                     });
                     if need_insert {
-                        for i in range(0, expected) {
+                        for i in 0..expected {
                             if indexes.contains(&i) {
                                 new_lts.push(lifetime);
                             } else {
@@ -1767,7 +1767,7 @@ impl LifeGiver {
             let mut s = String::new();
             let (n, r) = (counter/26 + 1, counter % 26);
             let letter: char = from_u32((r+97) as u32).unwrap();
-            for _ in range(0, n) {
+            for _ in 0..n {
                 s.push(letter);
             }
             s
diff --git a/src/librustc/middle/infer/region_inference/mod.rs b/src/librustc/middle/infer/region_inference/mod.rs
index 9339f435d8f..ca3806229c0 100644
--- a/src/librustc/middle/infer/region_inference/mod.rs
+++ b/src/librustc/middle/infer/region_inference/mod.rs
@@ -1328,7 +1328,7 @@ impl<'a, 'tcx> RegionVarBindings<'a, 'tcx> {
         let mut graph = graph::Graph::with_capacity(num_vars as uint + 1,
                                                     num_edges);
 
-        for _ in range(0, num_vars) {
+        for _ in 0..num_vars {
             graph.add_node(());
         }
         let dummy_idx = graph.add_node(());
diff --git a/src/librustc/middle/liveness.rs b/src/librustc/middle/liveness.rs
index 00fa6546b48..67609402649 100644
--- a/src/librustc/middle/liveness.rs
+++ b/src/librustc/middle/liveness.rs
@@ -687,7 +687,7 @@ impl<'a, 'tcx> Liveness<'a, 'tcx> {
     {
         let node_base_idx = self.idx(ln, Variable(0u));
         let succ_base_idx = self.idx(succ_ln, Variable(0u));
-        for var_idx in range(0u, self.ir.num_vars) {
+        for var_idx in 0u..self.ir.num_vars {
             op(self, node_base_idx + var_idx, succ_base_idx + var_idx);
         }
     }
@@ -700,7 +700,7 @@ impl<'a, 'tcx> Liveness<'a, 'tcx> {
         F: FnMut(uint) -> LiveNode,
     {
         let node_base_idx = self.idx(ln, Variable(0));
-        for var_idx in range(0u, self.ir.num_vars) {
+        for var_idx in 0u..self.ir.num_vars {
             let idx = node_base_idx + var_idx;
             if test(idx).is_valid() {
                 try!(write!(wr, " {:?}", Variable(var_idx)));
@@ -860,7 +860,7 @@ impl<'a, 'tcx> Liveness<'a, 'tcx> {
         // hack to skip the loop unless debug! is enabled:
         debug!("^^ liveness computation results for body {} (entry={:?})",
                {
-                   for ln_idx in range(0u, self.ir.num_live_nodes) {
+                   for ln_idx in 0u..self.ir.num_live_nodes {
                        debug!("{:?}", self.ln_str(LiveNode(ln_idx)));
                    }
                    body.id
diff --git a/src/librustc/middle/mem_categorization.rs b/src/librustc/middle/mem_categorization.rs
index 9954aa39226..b7f07a87419 100644
--- a/src/librustc/middle/mem_categorization.rs
+++ b/src/librustc/middle/mem_categorization.rs
@@ -456,7 +456,7 @@ impl<'t,'tcx,TYPER:Typer<'tcx>> MemCategorizationContext<'t,TYPER> {
         debug!("cat_expr_autoderefd: autoderefs={}, cmt={}",
                autoderefs,
                cmt.repr(self.tcx()));
-        for deref in range(1u, autoderefs + 1) {
+        for deref in 1u..autoderefs + 1 {
             cmt = try!(self.cat_deref(expr, cmt, deref));
         }
         return Ok(cmt);
diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs
index 062ddd23d9d..2ca4fd7a0d6 100644
--- a/src/librustc/middle/ty.rs
+++ b/src/librustc/middle/ty.rs
@@ -4344,7 +4344,7 @@ pub fn adjust_ty<'tcx, F>(cx: &ctxt<'tcx>,
                     let mut adjusted_ty = unadjusted_ty;
 
                     if !ty::type_is_error(adjusted_ty) {
-                        for i in range(0, adj.autoderefs) {
+                        for i in 0..adj.autoderefs {
                             let method_call = MethodCall::autoderef(expr_id, i);
                             match method_type(method_call) {
                                 Some(method_ty) => {
diff --git a/src/librustc/util/lev_distance.rs b/src/librustc/util/lev_distance.rs
index ec840498ae6..ef086171810 100644
--- a/src/librustc/util/lev_distance.rs
+++ b/src/librustc/util/lev_distance.rs
@@ -45,7 +45,7 @@ pub fn lev_distance(me: &str, t: &str) -> uint {
 fn test_lev_distance() {
     use std::char::{ from_u32, MAX };
     // Test bytelength agnosticity
-    for c in range(0u32, MAX as u32)
+    for c in 0u32..MAX as u32
              .filter_map(|i| from_u32(i))
              .map(|i| i.to_string()) {
         assert_eq!(lev_distance(&c[], &c[]), 0);
diff --git a/src/librustc_borrowck/borrowck/fragments.rs b/src/librustc_borrowck/borrowck/fragments.rs
index e2942719f2a..6e71da198e3 100644
--- a/src/librustc_borrowck/borrowck/fragments.rs
+++ b/src/librustc_borrowck/borrowck/fragments.rs
@@ -358,7 +358,7 @@ fn add_fragment_siblings_for_extension<'tcx>(this: &MoveData<'tcx>,
                            parent_ty.repr(tcx)),
             };
             let tuple_len = v.len();
-            for i in range(0, tuple_len) {
+            for i in 0..tuple_len {
                 if i == tuple_idx { continue }
                 let field_name = mc::PositionalField(i);
                 add_fragment_sibling_local(field_name, None);
diff --git a/src/librustc_trans/back/link.rs b/src/librustc_trans/back/link.rs
index f5a6f3d95a2..7b7a743e7e6 100644
--- a/src/librustc_trans/back/link.rs
+++ b/src/librustc_trans/back/link.rs
@@ -601,7 +601,7 @@ fn link_rlib<'a>(sess: &'a Session,
             // For LTO purposes, the bytecode of this library is also inserted
             // into the archive.  If codegen_units > 1, we insert each of the
             // bitcode files.
-            for i in range(0, sess.opts.cg.codegen_units) {
+            for i in 0..sess.opts.cg.codegen_units {
                 // Note that we make sure that the bytecode filename in the
                 // archive is never exactly 16 bytes long by adding a 16 byte
                 // extension to it. This is to work around a bug in LLDB that
diff --git a/src/librustc_trans/back/write.rs b/src/librustc_trans/back/write.rs
index 15b9d6237ed..65d41d86bc0 100644
--- a/src/librustc_trans/back/write.rs
+++ b/src/librustc_trans/back/write.rs
@@ -901,7 +901,7 @@ fn run_work_multithreaded(sess: &Session,
     let mut diag_emitter = SharedEmitter::new();
     let mut futures = Vec::with_capacity(num_workers);
 
-    for i in range(0, num_workers) {
+    for i in 0..num_workers {
         let work_items_arc = work_items_arc.clone();
         let diag_emitter = diag_emitter.clone();
         let remark = sess.opts.cg.remark.clone();
diff --git a/src/librustc_trans/trans/consts.rs b/src/librustc_trans/trans/consts.rs
index ba3af53a916..0403a2f2e3c 100644
--- a/src/librustc_trans/trans/consts.rs
+++ b/src/librustc_trans/trans/consts.rs
@@ -195,7 +195,7 @@ pub fn const_expr<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>, e: &ast::Expr)
                     let mut ty = ety;
                     // Save the last autoderef in case we can avoid it.
                     if adj.autoderefs > 0 {
-                        for _ in range(0, adj.autoderefs-1) {
+                        for _ in 0..adj.autoderefs-1 {
                             let (dv, dt) = const_deref(cx, llconst, ty, false);
                             llconst = dv;
                             ty = dt;
diff --git a/src/librustc_trans/trans/context.rs b/src/librustc_trans/trans/context.rs
index 09e0c016133..16a93489f3f 100644
--- a/src/librustc_trans/trans/context.rs
+++ b/src/librustc_trans/trans/context.rs
@@ -274,7 +274,7 @@ impl<'tcx> SharedCrateContext<'tcx> {
             available_drop_glues: RefCell::new(FnvHashMap()),
         };
 
-        for i in range(0, local_count) {
+        for i in 0..local_count {
             // Append ".rs" to crate name as LLVM module identifier.
             //
             // LLVM code generator emits a ".file filename" directive
diff --git a/src/librustc_trans/trans/expr.rs b/src/librustc_trans/trans/expr.rs
index 1504c2a7c2d..02df8826fa1 100644
--- a/src/librustc_trans/trans/expr.rs
+++ b/src/librustc_trans/trans/expr.rs
@@ -2117,7 +2117,7 @@ fn deref_multiple<'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
                               -> DatumBlock<'blk, 'tcx, Expr> {
     let mut bcx = bcx;
     let mut datum = datum;
-    for i in range(0, times) {
+    for i in 0..times {
         let method_call = MethodCall::autoderef(expr.id, i);
         datum = unpack_datum!(bcx, deref_once(bcx, expr, datum, method_call));
     }
diff --git a/src/librustc_typeck/check/regionck.rs b/src/librustc_typeck/check/regionck.rs
index b039f3ab8e4..15602505d90 100644
--- a/src/librustc_typeck/check/regionck.rs
+++ b/src/librustc_typeck/check/regionck.rs
@@ -948,7 +948,7 @@ fn constrain_autoderefs<'a, 'tcx>(rcx: &mut Rcx<'a, 'tcx>,
            derefd_ty.repr(rcx.tcx()));
 
     let r_deref_expr = ty::ReScope(CodeExtent::from_node_id(deref_expr.id));
-    for i in range(0u, derefs) {
+    for i in 0u..derefs {
         let method_call = MethodCall::autoderef(deref_expr.id, i);
         debug!("constrain_autoderefs: method_call={:?} (of {:?} total)", method_call, derefs);
 
diff --git a/src/librustc_typeck/check/writeback.rs b/src/librustc_typeck/check/writeback.rs
index 2fd33983fd3..a5a600c5748 100644
--- a/src/librustc_typeck/check/writeback.rs
+++ b/src/librustc_typeck/check/writeback.rs
@@ -263,7 +263,7 @@ impl<'cx, 'tcx> WritebackCx<'cx, 'tcx> {
                     }
 
                     ty::AdjustDerefRef(adj) => {
-                        for autoderef in range(0, adj.autoderefs) {
+                        for autoderef in 0..adj.autoderefs {
                             let method_call = MethodCall::autoderef(id, autoderef);
                             self.visit_method_map_entry(reason, method_call);
                         }
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index de8454d220a..2d0b4947e97 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -2251,7 +2251,7 @@ impl<'a> fmt::Display for Source<'a> {
             tmp /= 10;
         }
         try!(write!(fmt, "<pre class=\"line-numbers\">"));
-        for i in range(1, lines + 1) {
+        for i in 1..lines + 1 {
             try!(write!(fmt, "<span id=\"{0}\">{0:1$}</span>\n", i, cols));
         }
         try!(write!(fmt, "</pre>"));
diff --git a/src/librustdoc/html/toc.rs b/src/librustdoc/html/toc.rs
index aca6e5bb10e..9143baf9ed9 100644
--- a/src/librustdoc/html/toc.rs
+++ b/src/librustdoc/html/toc.rs
@@ -154,7 +154,7 @@ impl TocBuilder {
             // fill in any missing zeros, e.g. for
             // # Foo (1)
             // ### Bar (1.0.1)
-            for _ in range(toc_level, level - 1) {
+            for _ in toc_level..level - 1 {
                 sec_number.push_str("0.");
             }
             let number = toc.count_entries_with_level(level);
diff --git a/src/libserialize/collection_impls.rs b/src/libserialize/collection_impls.rs
index 10698259739..8b39d91ffae 100644
--- a/src/libserialize/collection_impls.rs
+++ b/src/libserialize/collection_impls.rs
@@ -36,7 +36,7 @@ impl<T:Decodable> Decodable for DList<T> {
     fn decode<D: Decoder>(d: &mut D) -> Result<DList<T>, D::Error> {
         d.read_seq(|d, len| {
             let mut list = DList::new();
-            for i in range(0u, len) {
+            for i in 0u..len {
                 list.push_back(try!(d.read_seq_elt(i, |d| Decodable::decode(d))));
             }
             Ok(list)
@@ -59,7 +59,7 @@ impl<T:Decodable> Decodable for RingBuf<T> {
     fn decode<D: Decoder>(d: &mut D) -> Result<RingBuf<T>, D::Error> {
         d.read_seq(|d, len| {
             let mut deque: RingBuf<T> = RingBuf::new();
-            for i in range(0u, len) {
+            for i in 0u..len {
                 deque.push_back(try!(d.read_seq_elt(i, |d| Decodable::decode(d))));
             }
             Ok(deque)
@@ -91,7 +91,7 @@ impl<
     fn decode<D: Decoder>(d: &mut D) -> Result<BTreeMap<K, V>, D::Error> {
         d.read_map(|d, len| {
             let mut map = BTreeMap::new();
-            for i in range(0u, len) {
+            for i in 0u..len {
                 let key = try!(d.read_map_elt_key(i, |d| Decodable::decode(d)));
                 let val = try!(d.read_map_elt_val(i, |d| Decodable::decode(d)));
                 map.insert(key, val);
@@ -122,7 +122,7 @@ impl<
     fn decode<D: Decoder>(d: &mut D) -> Result<BTreeSet<T>, D::Error> {
         d.read_seq(|d, len| {
             let mut set = BTreeSet::new();
-            for i in range(0u, len) {
+            for i in 0u..len {
                 set.insert(try!(d.read_seq_elt(i, |d| Decodable::decode(d))));
             }
             Ok(set)
@@ -148,7 +148,7 @@ impl<
     fn decode<D: Decoder>(d: &mut D) -> Result<EnumSet<T>, D::Error> {
         let bits = try!(d.read_uint());
         let mut set = EnumSet::new();
-        for bit in range(0, uint::BITS) {
+        for bit in 0..uint::BITS {
             if bits & (1 << bit) != 0 {
                 set.insert(CLike::from_uint(1 << bit));
             }
@@ -186,7 +186,7 @@ impl<K, V, S> Decodable for HashMap<K, V, S>
         d.read_map(|d, len| {
             let state = Default::default();
             let mut map = HashMap::with_capacity_and_hash_state(len, state);
-            for i in range(0u, len) {
+            for i in 0u..len {
                 let key = try!(d.read_map_elt_key(i, |d| Decodable::decode(d)));
                 let val = try!(d.read_map_elt_val(i, |d| Decodable::decode(d)));
                 map.insert(key, val);
@@ -222,7 +222,7 @@ impl<T, S> Decodable for HashSet<T, S>
         d.read_seq(|d, len| {
             let state = Default::default();
             let mut set = HashSet::with_capacity_and_hash_state(len, state);
-            for i in range(0u, len) {
+            for i in 0u..len {
                 set.insert(try!(d.read_seq_elt(i, |d| Decodable::decode(d))));
             }
             Ok(set)
@@ -246,7 +246,7 @@ impl<V: Decodable> Decodable for VecMap<V> {
     fn decode<D: Decoder>(d: &mut D) -> Result<VecMap<V>, D::Error> {
         d.read_map(|d, len| {
             let mut map = VecMap::new();
-            for i in range(0u, len) {
+            for i in 0u..len {
                 let key = try!(d.read_map_elt_key(i, |d| Decodable::decode(d)));
                 let val = try!(d.read_map_elt_val(i, |d| Decodable::decode(d)));
                 map.insert(key, val);
diff --git a/src/libserialize/hex.rs b/src/libserialize/hex.rs
index 33c5d7402f0..91c2561753b 100644
--- a/src/libserialize/hex.rs
+++ b/src/libserialize/hex.rs
@@ -185,14 +185,14 @@ mod tests {
 
     #[test]
     pub fn test_to_hex_all_bytes() {
-        for i in range(0u, 256) {
+        for i in 0u..256 {
             assert_eq!([i as u8].to_hex(), format!("{:02x}", i as uint));
         }
     }
 
     #[test]
     pub fn test_from_hex_all_bytes() {
-        for i in range(0u, 256) {
+        for i in 0u..256 {
             let ii: &[u8] = &[i as u8];
             assert_eq!(format!("{:02x}", i as uint).from_hex()
                                                    .unwrap(),
diff --git a/src/libserialize/json.rs b/src/libserialize/json.rs
index dad72fbd0e3..18949f1a267 100644
--- a/src/libserialize/json.rs
+++ b/src/libserialize/json.rs
@@ -3513,7 +3513,7 @@ mod tests {
         }
 
         // Test up to 4 spaces of indents (more?)
-        for i in range(0, 4u) {
+        for i in 0..4u {
             let mut writer = Vec::new();
             write!(&mut writer, "{}",
                    super::as_pretty_json(&json).indent(i)).unwrap();
@@ -3982,7 +3982,7 @@ mod tests {
 
     fn big_json() -> string::String {
         let mut src = "[\n".to_string();
-        for _ in range(0i, 500) {
+        for _ in 0i..500 {
             src.push_str(r#"{ "a": true, "b": null, "c":3.1415, "d": "Hello world", "e": \
                             [1,2,3]},"#);
         }
diff --git a/src/libserialize/serialize.rs b/src/libserialize/serialize.rs
index e93d71a9dff..f963d0ce813 100644
--- a/src/libserialize/serialize.rs
+++ b/src/libserialize/serialize.rs
@@ -461,7 +461,7 @@ impl<T:Decodable> Decodable for Vec<T> {
     fn decode<D: Decoder>(d: &mut D) -> Result<Vec<T>, D::Error> {
         d.read_seq(|d, len| {
             let mut v = Vec::with_capacity(len);
-            for i in range(0, len) {
+            for i in 0..len {
                 v.push(try!(d.read_seq_elt(i, |d| Decodable::decode(d))));
             }
             Ok(v)
@@ -641,7 +641,7 @@ impl<D: Decoder> DecoderHelpers for D {
     {
         self.read_seq(|this, len| {
             let mut v = Vec::with_capacity(len);
-            for i in range(0, len) {
+            for i in 0..len {
                 v.push(try!(this.read_seq_elt(i, |this| f(this))));
             }
             Ok(v)
diff --git a/src/libstd/collections/hash/map.rs b/src/libstd/collections/hash/map.rs
index 27e5295d2c8..f5937e5f902 100644
--- a/src/libstd/collections/hash/map.rs
+++ b/src/libstd/collections/hash/map.rs
@@ -89,7 +89,7 @@ impl DefaultResizePolicy {
 fn test_resize_policy() {
     use prelude::v1::*;
     let rp = DefaultResizePolicy;
-    for n in range(0u, 1000) {
+    for n in 0u..1000 {
         assert!(rp.min_capacity(rp.usable_capacity(n)) <= n);
         assert!(rp.usable_capacity(rp.min_capacity(n)) <= n);
     }
@@ -1681,24 +1681,24 @@ mod test_map {
             let mut m = HashMap::new();
 
             DROP_VECTOR.with(|v| {
-                for i in range(0u, 200) {
+                for i in 0u..200 {
                     assert_eq!(v.borrow()[i], 0);
                 }
             });
 
-            for i in range(0u, 100) {
+            for i in 0u..100 {
                 let d1 = Dropable::new(i);
                 let d2 = Dropable::new(i+100);
                 m.insert(d1, d2);
             }
 
             DROP_VECTOR.with(|v| {
-                for i in range(0u, 200) {
+                for i in 0u..200 {
                     assert_eq!(v.borrow()[i], 1);
                 }
             });
 
-            for i in range(0u, 50) {
+            for i in 0u..50 {
                 let k = Dropable::new(i);
                 let v = m.remove(&k);
 
@@ -1711,12 +1711,12 @@ mod test_map {
             }
 
             DROP_VECTOR.with(|v| {
-                for i in range(0u, 50) {
+                for i in 0u..50 {
                     assert_eq!(v.borrow()[i], 0);
                     assert_eq!(v.borrow()[i+100], 0);
                 }
 
-                for i in range(50u, 100) {
+                for i in 50u..100 {
                     assert_eq!(v.borrow()[i], 1);
                     assert_eq!(v.borrow()[i+100], 1);
                 }
@@ -1724,7 +1724,7 @@ mod test_map {
         }
 
         DROP_VECTOR.with(|v| {
-            for i in range(0u, 200) {
+            for i in 0u..200 {
                 assert_eq!(v.borrow()[i], 0);
             }
         });
@@ -1740,19 +1740,19 @@ mod test_map {
             let mut hm = HashMap::new();
 
             DROP_VECTOR.with(|v| {
-                for i in range(0u, 200) {
+                for i in 0u..200 {
                     assert_eq!(v.borrow()[i], 0);
                 }
             });
 
-            for i in range(0u, 100) {
+            for i in 0u..100 {
                 let d1 = Dropable::new(i);
                 let d2 = Dropable::new(i+100);
                 hm.insert(d1, d2);
             }
 
             DROP_VECTOR.with(|v| {
-                for i in range(0u, 200) {
+                for i in 0u..200 {
                     assert_eq!(v.borrow()[i], 1);
                 }
             });
@@ -1767,7 +1767,7 @@ mod test_map {
             let mut half = hm.into_iter().take(50);
 
             DROP_VECTOR.with(|v| {
-                for i in range(0u, 200) {
+                for i in 0u..200 {
                     assert_eq!(v.borrow()[i], 1);
                 }
             });
@@ -1789,7 +1789,7 @@ mod test_map {
         };
 
         DROP_VECTOR.with(|v| {
-            for i in range(0u, 200) {
+            for i in 0u..200 {
                 assert_eq!(v.borrow()[i], 0);
             }
         });
@@ -1807,7 +1807,7 @@ mod test_map {
 
         // Try this a few times to make sure we never screw up the hashmap's
         // internal state.
-        for _ in range(0i, 10) {
+        for _ in 0i..10 {
             assert!(m.is_empty());
 
             for i in range_inclusive(1i, 1000) {
@@ -1934,7 +1934,7 @@ mod test_map {
     #[test]
     fn test_iterate() {
         let mut m = HashMap::with_capacity(4);
-        for i in range(0u, 32) {
+        for i in 0u..32 {
             assert!(m.insert(i, i*2).is_none());
         }
         assert_eq!(m.len(), 32);
@@ -2050,7 +2050,7 @@ mod test_map {
         assert_eq!(cap, initial_cap * 2);
 
         let mut i = 0u;
-        for _ in range(0, cap * 3 / 4) {
+        for _ in 0..cap * 3 / 4 {
             m.insert(i, i);
             i += 1;
         }
@@ -2059,7 +2059,7 @@ mod test_map {
         assert_eq!(m.len(), i);
         assert_eq!(m.table.capacity(), cap);
 
-        for _ in range(0, cap / 4) {
+        for _ in 0..cap / 4 {
             m.insert(i, i);
             i += 1;
         }
@@ -2068,7 +2068,7 @@ mod test_map {
         let new_cap = m.table.capacity();
         assert_eq!(new_cap, cap * 2);
 
-        for _ in range(0, cap / 2 - 1) {
+        for _ in 0..cap / 2 - 1 {
             i -= 1;
             m.remove(&i);
             assert_eq!(m.table.capacity(), new_cap);
@@ -2077,7 +2077,7 @@ mod test_map {
         m.shrink_to_fit();
         assert_eq!(m.table.capacity(), cap);
         // again, a little more than half full
-        for _ in range(0, cap / 2 - 1) {
+        for _ in 0..cap / 2 - 1 {
             i -= 1;
             m.remove(&i);
         }
@@ -2094,18 +2094,18 @@ mod test_map {
         m.insert(0u, 0u);
         m.remove(&0);
         assert!(m.capacity() >= m.len());
-        for i in range(0, 128) {
+        for i in 0..128 {
             m.insert(i, i);
         }
         m.reserve(256);
 
         let usable_cap = m.capacity();
-        for i in range(128, 128+256) {
+        for i in 128..128+256 {
             m.insert(i, i);
             assert_eq!(m.capacity(), usable_cap);
         }
 
-        for i in range(100, 128+256) {
+        for i in 100..128+256 {
             assert_eq!(m.remove(&i), Some(i));
         }
         m.shrink_to_fit();
@@ -2114,7 +2114,7 @@ mod test_map {
         assert!(!m.is_empty());
         assert!(m.capacity() >= m.len());
 
-        for i in range(0, 100) {
+        for i in 0..100 {
             assert_eq!(m.remove(&i), Some(i));
         }
         m.shrink_to_fit();
@@ -2277,12 +2277,12 @@ mod test_map {
         let mut rng = weak_rng();
 
         // Populate the map with some items.
-        for _ in range(0u, 50) {
+        for _ in 0u..50 {
             let x = rng.gen_range(-10, 10);
             m.insert(x, ());
         }
 
-        for i in range(0u, 1000) {
+        for i in 0u..1000 {
             let x = rng.gen_range(-10, 10);
             match m.entry(x) {
                 Vacant(_) => {},
diff --git a/src/libstd/collections/hash/set.rs b/src/libstd/collections/hash/set.rs
index dc16fd88201..ad0cb3c1a7a 100644
--- a/src/libstd/collections/hash/set.rs
+++ b/src/libstd/collections/hash/set.rs
@@ -1003,7 +1003,7 @@ mod test_set {
     #[test]
     fn test_iterate() {
         let mut a = HashSet::new();
-        for i in range(0u, 32) {
+        for i in 0u..32 {
             assert!(a.insert(i));
         }
         let mut observed: u32 = 0;
@@ -1201,7 +1201,7 @@ mod test_set {
         let mut s: HashSet<int> = (1..100).collect();
 
         // try this a bunch of times to make sure we don't screw up internal state.
-        for _ in range(0i, 20) {
+        for _ in 0i..20 {
             assert_eq!(s.len(), 99);
 
             {
diff --git a/src/libstd/old_io/fs.rs b/src/libstd/old_io/fs.rs
index 5a4ce24be0d..99c7e399b1c 100644
--- a/src/libstd/old_io/fs.rs
+++ b/src/libstd/old_io/fs.rs
@@ -1101,7 +1101,7 @@ mod test {
         let dir = &tmpdir.join("di_readdir");
         check!(mkdir(dir, old_io::USER_RWX));
         let prefix = "foo";
-        for n in range(0i,3) {
+        for n in 0i..3 {
             let f = dir.join(format!("{}.txt", n));
             let mut w = check!(File::create(&f));
             let msg_str = format!("{}{}", prefix, n.to_string());
diff --git a/src/libstd/old_io/mem.rs b/src/libstd/old_io/mem.rs
index 750bc50288a..ddb364a703a 100644
--- a/src/libstd/old_io/mem.rs
+++ b/src/libstd/old_io/mem.rs
@@ -663,7 +663,7 @@ mod test {
         b.bytes = (times * len) as u64;
         b.iter(|| {
             let mut wr = MemWriter::new();
-            for _ in range(0, times) {
+            for _ in 0..times {
                 wr.write(src.as_slice()).unwrap();
             }
 
@@ -719,7 +719,7 @@ mod test {
             let buf = [5 as u8; 100].to_vec();
             {
                 let mut rdr = MemReader::new(buf);
-                for _i in range(0u, 10) {
+                for _i in 0u..10 {
                     let mut buf = [0 as u8; 10];
                     rdr.read(&mut buf).unwrap();
                     assert_eq!(buf.as_slice(), [5; 10].as_slice());
@@ -734,7 +734,7 @@ mod test {
             let mut buf = [0 as u8; 100];
             {
                 let mut wr = BufWriter::new(&mut buf);
-                for _i in range(0u, 10) {
+                for _i in 0u..10 {
                     wr.write(&[5; 10]).unwrap();
                 }
             }
@@ -748,7 +748,7 @@ mod test {
             let buf = [5 as u8; 100];
             {
                 let mut rdr = BufReader::new(&buf);
-                for _i in range(0u, 10) {
+                for _i in 0u..10 {
                     let mut buf = [0 as u8; 10];
                     rdr.read(&mut buf).unwrap();
                     assert_eq!(buf, [5; 10]);
diff --git a/src/libstd/old_io/net/pipe.rs b/src/libstd/old_io/net/pipe.rs
index 71b77adcd96..0da7670c5b4 100644
--- a/src/libstd/old_io/net/pipe.rs
+++ b/src/libstd/old_io/net/pipe.rs
@@ -390,7 +390,7 @@ mod tests {
         };
 
         let _t = Thread::spawn(move|| {
-            for _ in range(0u, times) {
+            for _ in 0u..times {
                 let mut stream = UnixStream::connect(&path2);
                 match stream.write(&[100]) {
                     Ok(..) => {}
@@ -399,7 +399,7 @@ mod tests {
             }
         });
 
-        for _ in range(0, times) {
+        for _ in 0..times {
             let mut client = acceptor.accept();
             let mut buf = [0];
             match client.read(&mut buf) {
@@ -555,7 +555,7 @@ mod tests {
             tx.send(UnixStream::connect(&addr2).unwrap()).unwrap();
         });
         let l = rx.recv().unwrap();
-        for i in range(0u, 1001) {
+        for i in 0u..1001 {
             match a.accept() {
                 Ok(..) => break,
                 Err(ref e) if e.kind == TimedOut => {}
@@ -683,7 +683,7 @@ mod tests {
         assert_eq!(s.read(&mut [0]).err().unwrap().kind, TimedOut);
 
         s.set_timeout(Some(20));
-        for i in range(0u, 1001) {
+        for i in 0u..1001 {
             match s.write(&[0; 128 * 1024]) {
                 Ok(()) | Err(IoError { kind: ShortWrite(..), .. }) => {},
                 Err(IoError { kind: TimedOut, .. }) => break,
@@ -727,7 +727,7 @@ mod tests {
         assert_eq!(s.read(&mut [0]).err().unwrap().kind, TimedOut);
 
         tx.send(()).unwrap();
-        for _ in range(0u, 100) {
+        for _ in 0u..100 {
             assert!(s.write(&[0;128 * 1024]).is_ok());
         }
     }
@@ -746,7 +746,7 @@ mod tests {
 
         let mut s = a.accept().unwrap();
         s.set_write_timeout(Some(20));
-        for i in range(0u, 1001) {
+        for i in 0u..1001 {
             match s.write(&[0; 128 * 1024]) {
                 Ok(()) | Err(IoError { kind: ShortWrite(..), .. }) => {},
                 Err(IoError { kind: TimedOut, .. }) => break,
diff --git a/src/libstd/old_io/net/tcp.rs b/src/libstd/old_io/net/tcp.rs
index 1e76bb3ab0d..e0feaa4e558 100644
--- a/src/libstd/old_io/net/tcp.rs
+++ b/src/libstd/old_io/net/tcp.rs
@@ -748,7 +748,7 @@ mod test {
         let mut acceptor = TcpListener::bind(addr).listen();
 
         let _t = Thread::spawn(move|| {
-            for _ in range(0, max) {
+            for _ in 0..max {
                 let mut stream = TcpStream::connect(addr);
                 stream.write(&[99]).unwrap();
             }
@@ -768,7 +768,7 @@ mod test {
         let mut acceptor = TcpListener::bind(addr).listen();
 
         let _t = Thread::spawn(move|| {
-            for _ in range(0, max) {
+            for _ in 0..max {
                 let mut stream = TcpStream::connect(addr);
                 stream.write(&[99]).unwrap();
             }
@@ -1160,7 +1160,7 @@ mod test {
                 tx.send(TcpStream::connect(addr).unwrap()).unwrap();
             });
             let _l = rx.recv().unwrap();
-            for i in range(0i, 1001) {
+            for i in 0i..1001 {
                 match a.accept() {
                     Ok(..) => break,
                     Err(ref e) if e.kind == TimedOut => {}
@@ -1260,7 +1260,7 @@ mod test {
         assert_eq!(s.read(&mut [0]).err().unwrap().kind, TimedOut);
 
         s.set_timeout(Some(20));
-        for i in range(0i, 1001) {
+        for i in 0i..1001 {
             match s.write(&[0; 128 * 1024]) {
                 Ok(()) | Err(IoError { kind: ShortWrite(..), .. }) => {},
                 Err(IoError { kind: TimedOut, .. }) => break,
@@ -1299,7 +1299,7 @@ mod test {
         assert_eq!(s.read(&mut [0]).err().unwrap().kind, TimedOut);
 
         tx.send(()).unwrap();
-        for _ in range(0i, 100) {
+        for _ in 0i..100 {
             assert!(s.write(&[0;128 * 1024]).is_ok());
         }
     }
@@ -1318,7 +1318,7 @@ mod test {
 
         let mut s = a.accept().unwrap();
         s.set_write_timeout(Some(20));
-        for i in range(0i, 1001) {
+        for i in 0i..1001 {
             match s.write(&[0; 128 * 1024]) {
                 Ok(()) | Err(IoError { kind: ShortWrite(..), .. }) => {},
                 Err(IoError { kind: TimedOut, .. }) => break,
@@ -1388,7 +1388,7 @@ mod test {
         });
 
         // Try to ensure that the reading clone is indeed reading
-        for _ in range(0i, 50) {
+        for _ in 0i..50 {
             ::thread::Thread::yield_now();
         }
 
diff --git a/src/libstd/old_io/net/udp.rs b/src/libstd/old_io/net/udp.rs
index de0752b3619..5f1089bc63b 100644
--- a/src/libstd/old_io/net/udp.rs
+++ b/src/libstd/old_io/net/udp.rs
@@ -448,7 +448,7 @@ mod test {
         let _b = UdpSocket::bind(addr2).unwrap();
 
         a.set_write_timeout(Some(1000));
-        for _ in range(0u, 100) {
+        for _ in 0u..100 {
             match a.send_to(&[0;4*1024], addr2) {
                 Ok(()) | Err(IoError { kind: ShortWrite(..), .. }) => {},
                 Err(IoError { kind: TimedOut, .. }) => break,
diff --git a/src/libstd/old_io/process.rs b/src/libstd/old_io/process.rs
index 78910882467..e6037d12c28 100644
--- a/src/libstd/old_io/process.rs
+++ b/src/libstd/old_io/process.rs
@@ -1142,7 +1142,7 @@ mod tests {
     fn test_zero() {
         let mut p = sleeper();
         p.signal_kill().unwrap();
-        for _ in range(0i, 20) {
+        for _ in 0i..20 {
             if p.signal(0).is_err() {
                 assert!(!p.wait().unwrap().success());
                 return
diff --git a/src/libstd/old_io/tempfile.rs b/src/libstd/old_io/tempfile.rs
index 029fef7c197..88d4e5aa058 100644
--- a/src/libstd/old_io/tempfile.rs
+++ b/src/libstd/old_io/tempfile.rs
@@ -102,7 +102,7 @@ impl TempDir {
         }
 
         let mut rng = thread_rng();
-        for _ in range(0, NUM_RETRIES) {
+        for _ in 0..NUM_RETRIES {
             let suffix: String = rng.gen_ascii_chars().take(NUM_RAND_CHARS).collect();
             let leaf = if prefix.len() > 0 {
                 format!("{}.{}", prefix, suffix)
diff --git a/src/libstd/old_io/timer.rs b/src/libstd/old_io/timer.rs
index 7e15c9ad7fc..35f0bcb21d9 100644
--- a/src/libstd/old_io/timer.rs
+++ b/src/libstd/old_io/timer.rs
@@ -121,7 +121,7 @@ impl Timer {
     /// let mut timer = Timer::new().unwrap();
     /// let ten_milliseconds = timer.oneshot(Duration::milliseconds(10));
     ///
-    /// for _ in range(0u, 100) { /* do work */ }
+    /// for _ in 0u..100 { /* do work */ }
     ///
     /// // blocks until 10 ms after the `oneshot` call
     /// ten_milliseconds.recv().unwrap();
@@ -173,12 +173,12 @@ impl Timer {
     /// let mut timer = Timer::new().unwrap();
     /// let ten_milliseconds = timer.periodic(Duration::milliseconds(10));
     ///
-    /// for _ in range(0u, 100) { /* do work */ }
+    /// for _ in 0u..100 { /* do work */ }
     ///
     /// // blocks until 10 ms after the `periodic` call
     /// ten_milliseconds.recv().unwrap();
     ///
-    /// for _ in range(0u, 100) { /* do work */ }
+    /// for _ in 0u..100 { /* do work */ }
     ///
     /// // blocks until 20 ms after the `periodic` call (*not* 10ms after the
     /// // previous `recv`)
diff --git a/src/libstd/os.rs b/src/libstd/os.rs
index a347b4c0665..fc5ac861b30 100644
--- a/src/libstd/os.rs
+++ b/src/libstd/os.rs
@@ -643,7 +643,7 @@ fn real_args_as_bytes() -> Vec<Vec<u8>> {
 // In general it looks like:
 // res = Vec::new()
 // let args = [[NSProcessInfo processInfo] arguments]
-// for i in range(0, [args count])
+// for i in 0..[args count]
 //      res.push([args objectAtIndex:i])
 // res
 #[cfg(target_os = "ios")]
@@ -679,7 +679,7 @@ fn real_args_as_bytes() -> Vec<Vec<u8>> {
         let args = objc_msgSend(info, argumentsSel);
 
         let cnt: int = mem::transmute(objc_msgSend(args, countSel));
-        for i in range(0, cnt) {
+        for i in 0..cnt {
             let tmp = objc_msgSend(args, objectAtSel, i);
             let utf_c_str: *const libc::c_char =
                 mem::transmute(objc_msgSend(tmp, utf8Sel));
diff --git a/src/libstd/rand/mod.rs b/src/libstd/rand/mod.rs
index 7193d4438e5..a27c217f86d 100644
--- a/src/libstd/rand/mod.rs
+++ b/src/libstd/rand/mod.rs
@@ -102,7 +102,7 @@
 //!    let total = 1_000_000;
 //!    let mut in_circle = 0;
 //!
-//!    for _ in range(0, total) {
+//!    for _ in 0u..total {
 //!        let a = between.ind_sample(&mut rng);
 //!        let b = between.ind_sample(&mut rng);
 //!        if a*a + b*b <= 1. {
@@ -190,7 +190,7 @@
 //!     let (mut keep_wins, mut keep_losses) = (0, 0);
 //!
 //!     println!("Running {} simulations...", num_simulations);
-//!     for _ in range(0, num_simulations) {
+//!     for _ in 0..num_simulations {
 //!         let result = simulate(&random_door, &mut rng);
 //!
 //!         match (result.win, result.switch) {
@@ -480,14 +480,14 @@ mod test {
     #[test]
     fn test_gen_range() {
         let mut r = thread_rng();
-        for _ in range(0, 1000) {
+        for _ in 0u..1000 {
             let a = r.gen_range(-3i, 42);
             assert!(a >= -3 && a < 42);
             assert_eq!(r.gen_range(0i, 1), 0);
             assert_eq!(r.gen_range(-12i, -11), -12);
         }
 
-        for _ in range(0, 1000) {
+        for _ in 0u..1000 {
             let a = r.gen_range(10i, 42);
             assert!(a >= 10 && a < 42);
             assert_eq!(r.gen_range(0i, 1), 0);
@@ -652,7 +652,7 @@ mod bench {
     fn rand_xorshift(b: &mut Bencher) {
         let mut rng: XorShiftRng = OsRng::new().unwrap().gen();
         b.iter(|| {
-            for _ in range(0, RAND_BENCH_N) {
+            for _ in 0..RAND_BENCH_N {
                 rng.gen::<uint>();
             }
         });
@@ -663,7 +663,7 @@ mod bench {
     fn rand_isaac(b: &mut Bencher) {
         let mut rng: IsaacRng = OsRng::new().unwrap().gen();
         b.iter(|| {
-            for _ in range(0, RAND_BENCH_N) {
+            for _ in 0..RAND_BENCH_N {
                 rng.gen::<uint>();
             }
         });
@@ -674,7 +674,7 @@ mod bench {
     fn rand_isaac64(b: &mut Bencher) {
         let mut rng: Isaac64Rng = OsRng::new().unwrap().gen();
         b.iter(|| {
-            for _ in range(0, RAND_BENCH_N) {
+            for _ in 0..RAND_BENCH_N {
                 rng.gen::<uint>();
             }
         });
@@ -685,7 +685,7 @@ mod bench {
     fn rand_std(b: &mut Bencher) {
         let mut rng = StdRng::new().unwrap();
         b.iter(|| {
-            for _ in range(0, RAND_BENCH_N) {
+            for _ in 0..RAND_BENCH_N {
                 rng.gen::<uint>();
             }
         });
diff --git a/src/libstd/rand/os.rs b/src/libstd/rand/os.rs
index fb8fd0b5078..992afb2d10f 100644
--- a/src/libstd/rand/os.rs
+++ b/src/libstd/rand/os.rs
@@ -378,7 +378,7 @@ mod test {
     fn test_os_rng_tasks() {
 
         let mut txs = vec!();
-        for _ in range(0, 20) {
+        for _ in 0u..20 {
             let (tx, rx) = channel();
             txs.push(tx);
 
@@ -392,7 +392,7 @@ mod test {
                 Thread::yield_now();
                 let mut v = [0u8; 1000];
 
-                for _ in range(0, 100) {
+                for _ in 0u..100 {
                     r.next_u32();
                     Thread::yield_now();
                     r.next_u64();
diff --git a/src/libstd/sync/barrier.rs b/src/libstd/sync/barrier.rs
index 40710d627c0..581e540d3b6 100644
--- a/src/libstd/sync/barrier.rs
+++ b/src/libstd/sync/barrier.rs
@@ -18,7 +18,7 @@ use sync::{Mutex, Condvar};
 /// use std::thread::Thread;
 ///
 /// let barrier = Arc::new(Barrier::new(10));
-/// for _ in range(0u, 10) {
+/// for _ in 0u..10 {
 ///     let c = barrier.clone();
 ///     // The same messages will be printed together.
 ///     // You will NOT see any interleaving.
@@ -121,7 +121,7 @@ mod tests {
         let barrier = Arc::new(Barrier::new(N));
         let (tx, rx) = channel();
 
-        for _ in range(0u, N - 1) {
+        for _ in 0u..N - 1 {
             let c = barrier.clone();
             let tx = tx.clone();
             Thread::spawn(move|| {
@@ -139,7 +139,7 @@ mod tests {
         let mut leader_found = barrier.wait().is_leader();
 
         // Now, the barrier is cleared and we should get data.
-        for _ in range(0u, N - 1) {
+        for _ in 0u..N - 1 {
             if rx.recv().unwrap() {
                 assert!(!leader_found);
                 leader_found = true;
diff --git a/src/libstd/sync/condvar.rs b/src/libstd/sync/condvar.rs
index a7a5b084582..2ae81ad7dff 100644
--- a/src/libstd/sync/condvar.rs
+++ b/src/libstd/sync/condvar.rs
@@ -392,7 +392,7 @@ mod tests {
 
         let data = Arc::new((Mutex::new(0), Condvar::new()));
         let (tx, rx) = channel();
-        for _ in range(0, N) {
+        for _ in 0..N {
             let data = data.clone();
             let tx = tx.clone();
             Thread::spawn(move|| {
@@ -417,7 +417,7 @@ mod tests {
         cond.notify_all();
         drop(cnt);
 
-        for _ in range(0, N) {
+        for _ in 0..N {
             rx.recv().unwrap();
         }
     }
diff --git a/src/libstd/sync/mpsc/mod.rs b/src/libstd/sync/mpsc/mod.rs
index 322c6137984..29ab7979e04 100644
--- a/src/libstd/sync/mpsc/mod.rs
+++ b/src/libstd/sync/mpsc/mod.rs
@@ -74,14 +74,14 @@
 //! // where tx is the sending half (tx for transmission), and rx is the receiving
 //! // half (rx for receiving).
 //! let (tx, rx) = channel();
-//! for i in range(0i, 10i) {
+//! for i in 0i..10i {
 //!     let tx = tx.clone();
 //!     Thread::spawn(move|| {
 //!         tx.send(i).unwrap();
 //!     });
 //! }
 //!
-//! for _ in range(0i, 10i) {
+//! for _ in 0i..10i {
 //!     let j = rx.recv().unwrap();
 //!     assert!(0 <= j && j < 10);
 //! }
@@ -1147,9 +1147,9 @@ mod test {
     fn stress() {
         let (tx, rx) = channel::<int>();
         let t = Thread::scoped(move|| {
-            for _ in range(0u, 10000) { tx.send(1i).unwrap(); }
+            for _ in 0u..10000 { tx.send(1i).unwrap(); }
         });
-        for _ in range(0u, 10000) {
+        for _ in 0u..10000 {
             assert_eq!(rx.recv().unwrap(), 1);
         }
         t.join().ok().unwrap();
@@ -1162,7 +1162,7 @@ mod test {
         let (tx, rx) = channel::<int>();
 
         let t = Thread::scoped(move|| {
-            for _ in range(0, AMT * NTHREADS) {
+            for _ in 0..AMT * NTHREADS {
                 assert_eq!(rx.recv().unwrap(), 1);
             }
             match rx.try_recv() {
@@ -1171,10 +1171,10 @@ mod test {
             }
         });
 
-        for _ in range(0, NTHREADS) {
+        for _ in 0..NTHREADS {
             let tx = tx.clone();
             Thread::spawn(move|| {
-                for _ in range(0, AMT) { tx.send(1).unwrap(); }
+                for _ in 0..AMT { tx.send(1).unwrap(); }
             });
         }
         drop(tx);
@@ -1187,13 +1187,13 @@ mod test {
         let (tx2, rx2) = channel::<int>();
         let t1 = Thread::scoped(move|| {
             tx1.send(()).unwrap();
-            for _ in range(0i, 40) {
+            for _ in 0i..40 {
                 assert_eq!(rx2.recv().unwrap(), 1);
             }
         });
         rx1.recv().unwrap();
         let t2 = Thread::scoped(move|| {
-            for _ in range(0i, 40) {
+            for _ in 0i..40 {
                 tx2.send(1).unwrap();
             }
         });
@@ -1205,11 +1205,11 @@ mod test {
     fn recv_from_outside_runtime() {
         let (tx, rx) = channel::<int>();
         let t = Thread::scoped(move|| {
-            for _ in range(0i, 40) {
+            for _ in 0i..40 {
                 assert_eq!(rx.recv().unwrap(), 1);
             }
         });
-        for _ in range(0u, 40) {
+        for _ in 0u..40 {
             tx.send(1).unwrap();
         }
         t.join().ok().unwrap();
@@ -1429,22 +1429,22 @@ mod test {
     fn recv_a_lot() {
         // Regression test that we don't run out of stack in scheduler context
         let (tx, rx) = channel();
-        for _ in range(0i, 10000) { tx.send(()).unwrap(); }
-        for _ in range(0i, 10000) { rx.recv().unwrap(); }
+        for _ in 0i..10000 { tx.send(()).unwrap(); }
+        for _ in 0i..10000 { rx.recv().unwrap(); }
     }
 
     #[test]
     fn shared_chan_stress() {
         let (tx, rx) = channel();
         let total = stress_factor() + 100;
-        for _ in range(0, total) {
+        for _ in 0..total {
             let tx = tx.clone();
             Thread::spawn(move|| {
                 tx.send(()).unwrap();
             });
         }
 
-        for _ in range(0, total) {
+        for _ in 0..total {
             rx.recv().unwrap();
         }
     }
@@ -1530,7 +1530,7 @@ mod test {
             tx2.send(()).unwrap();
         });
         // make sure the other task has gone to sleep
-        for _ in range(0u, 5000) { Thread::yield_now(); }
+        for _ in 0u..5000 { Thread::yield_now(); }
 
         // upgrade to a shared chan and send a message
         let t = tx.clone();
@@ -1654,9 +1654,9 @@ mod sync_tests {
     fn stress() {
         let (tx, rx) = sync_channel::<int>(0);
         Thread::spawn(move|| {
-            for _ in range(0u, 10000) { tx.send(1).unwrap(); }
+            for _ in 0u..10000 { tx.send(1).unwrap(); }
         });
-        for _ in range(0u, 10000) {
+        for _ in 0u..10000 {
             assert_eq!(rx.recv().unwrap(), 1);
         }
     }
@@ -1669,7 +1669,7 @@ mod sync_tests {
         let (dtx, drx) = sync_channel::<()>(0);
 
         Thread::spawn(move|| {
-            for _ in range(0, AMT * NTHREADS) {
+            for _ in 0..AMT * NTHREADS {
                 assert_eq!(rx.recv().unwrap(), 1);
             }
             match rx.try_recv() {
@@ -1679,10 +1679,10 @@ mod sync_tests {
             dtx.send(()).unwrap();
         });
 
-        for _ in range(0, NTHREADS) {
+        for _ in 0..NTHREADS {
             let tx = tx.clone();
             Thread::spawn(move|| {
-                for _ in range(0, AMT) { tx.send(1).unwrap(); }
+                for _ in 0..AMT { tx.send(1).unwrap(); }
             });
         }
         drop(tx);
@@ -1893,22 +1893,22 @@ mod sync_tests {
     fn recv_a_lot() {
         // Regression test that we don't run out of stack in scheduler context
         let (tx, rx) = sync_channel(10000);
-        for _ in range(0u, 10000) { tx.send(()).unwrap(); }
-        for _ in range(0u, 10000) { rx.recv().unwrap(); }
+        for _ in 0u..10000 { tx.send(()).unwrap(); }
+        for _ in 0u..10000 { rx.recv().unwrap(); }
     }
 
     #[test]
     fn shared_chan_stress() {
         let (tx, rx) = sync_channel(0);
         let total = stress_factor() + 100;
-        for _ in range(0, total) {
+        for _ in 0..total {
             let tx = tx.clone();
             Thread::spawn(move|| {
                 tx.send(()).unwrap();
             });
         }
 
-        for _ in range(0, total) {
+        for _ in 0..total {
             rx.recv().unwrap();
         }
     }
@@ -1994,7 +1994,7 @@ mod sync_tests {
             tx2.send(()).unwrap();
         });
         // make sure the other task has gone to sleep
-        for _ in range(0u, 5000) { Thread::yield_now(); }
+        for _ in 0u..5000 { Thread::yield_now(); }
 
         // upgrade to a shared chan and send a message
         let t = tx.clone();
@@ -2082,7 +2082,7 @@ mod sync_tests {
             rx2.recv().unwrap();
         }
 
-        for _ in range(0u, 100) {
+        for _ in 0u..100 {
             repro()
         }
     }
diff --git a/src/libstd/sync/mpsc/mpsc_queue.rs b/src/libstd/sync/mpsc/mpsc_queue.rs
index c222c313ba6..53eba131674 100644
--- a/src/libstd/sync/mpsc/mpsc_queue.rs
+++ b/src/libstd/sync/mpsc/mpsc_queue.rs
@@ -181,11 +181,11 @@ mod tests {
         let (tx, rx) = channel();
         let q = Arc::new(q);
 
-        for _ in range(0, nthreads) {
+        for _ in 0..nthreads {
             let tx = tx.clone();
             let q = q.clone();
             Thread::spawn(move|| {
-                for i in range(0, nmsgs) {
+                for i in 0..nmsgs {
                     q.push(i);
                 }
                 tx.send(()).unwrap();
@@ -200,7 +200,7 @@ mod tests {
             }
         }
         drop(tx);
-        for _ in range(0, nthreads) {
+        for _ in 0..nthreads {
             rx.recv().unwrap();
         }
     }
diff --git a/src/libstd/sync/mpsc/select.rs b/src/libstd/sync/mpsc/select.rs
index e97c82a5b1b..f70e2dee8ee 100644
--- a/src/libstd/sync/mpsc/select.rs
+++ b/src/libstd/sync/mpsc/select.rs
@@ -421,10 +421,10 @@ mod test {
         let (tx3, rx3) = channel::<int>();
 
         let _t = Thread::spawn(move|| {
-            for _ in range(0u, 20) { Thread::yield_now(); }
+            for _ in 0u..20 { Thread::yield_now(); }
             tx1.send(1).unwrap();
             rx3.recv().unwrap();
-            for _ in range(0u, 20) { Thread::yield_now(); }
+            for _ in 0u..20 { Thread::yield_now(); }
         });
 
         select! {
@@ -445,7 +445,7 @@ mod test {
         let (tx3, rx3) = channel::<()>();
 
         let _t = Thread::spawn(move|| {
-            for _ in range(0u, 20) { Thread::yield_now(); }
+            for _ in 0u..20 { Thread::yield_now(); }
             tx1.send(1).unwrap();
             tx2.send(2).unwrap();
             rx3.recv().unwrap();
@@ -472,7 +472,7 @@ mod test {
         let (tx3, rx3) = channel::<()>();
 
         let _t = Thread::spawn(move|| {
-            for i in range(0, AMT) {
+            for i in 0..AMT {
                 if i % 2 == 0 {
                     tx1.send(i).unwrap();
                 } else {
@@ -482,7 +482,7 @@ mod test {
             }
         });
 
-        for i in range(0, AMT) {
+        for i in 0..AMT {
             select! {
                 i1 = rx1.recv() => { assert!(i % 2 == 0 && i == i1.unwrap()); },
                 i2 = rx2.recv() => { assert!(i % 2 == 1 && i == i2.unwrap()); }
@@ -550,7 +550,7 @@ mod test {
             tx3.send(()).unwrap();
         });
 
-        for _ in range(0u, 1000) { Thread::yield_now(); }
+        for _ in 0u..1000 { Thread::yield_now(); }
         drop(tx1.clone());
         tx2.send(()).unwrap();
         rx3.recv().unwrap();
@@ -663,7 +663,7 @@ mod test {
             tx2.send(()).unwrap();
         });
 
-        for _ in range(0u, 100) { Thread::yield_now() }
+        for _ in 0u..100 { Thread::yield_now() }
         tx1.send(()).unwrap();
         rx2.recv().unwrap();
     }
@@ -683,7 +683,7 @@ mod test {
             tx2.send(()).unwrap();
         });
 
-        for _ in range(0u, 100) { Thread::yield_now() }
+        for _ in 0u..100 { Thread::yield_now() }
         tx1.send(()).unwrap();
         rx2.recv().unwrap();
     }
@@ -702,7 +702,7 @@ mod test {
             tx2.send(()).unwrap();
         });
 
-        for _ in range(0u, 100) { Thread::yield_now() }
+        for _ in 0u..100 { Thread::yield_now() }
         tx1.send(()).unwrap();
         rx2.recv().unwrap();
     }
@@ -720,7 +720,7 @@ mod test {
     fn sync2() {
         let (tx, rx) = sync_channel::<int>(0);
         let _t = Thread::spawn(move|| {
-            for _ in range(0u, 100) { Thread::yield_now() }
+            for _ in 0u..100 { Thread::yield_now() }
             tx.send(1).unwrap();
         });
         select! {
diff --git a/src/libstd/sync/mpsc/spsc_queue.rs b/src/libstd/sync/mpsc/spsc_queue.rs
index c1983fcab19..45503f0b58e 100644
--- a/src/libstd/sync/mpsc/spsc_queue.rs
+++ b/src/libstd/sync/mpsc/spsc_queue.rs
@@ -325,7 +325,7 @@ mod test {
             let (tx, rx) = channel();
             let q2 = q.clone();
             let _t = Thread::spawn(move|| {
-                for _ in range(0u, 100000) {
+                for _ in 0u..100000 {
                     loop {
                         match q2.pop() {
                             Some(1i) => break,
@@ -336,7 +336,7 @@ mod test {
                 }
                 tx.send(()).unwrap();
             });
-            for _ in range(0i, 100000) {
+            for _ in 0i..100000 {
                 q.push(1);
             }
             rx.recv().unwrap();
diff --git a/src/libstd/sync/mutex.rs b/src/libstd/sync/mutex.rs
index f7fdd60eb8c..c31010c170d 100644
--- a/src/libstd/sync/mutex.rs
+++ b/src/libstd/sync/mutex.rs
@@ -60,7 +60,7 @@ use sys_common::mutex as sys;
 /// let data = Arc::new(Mutex::new(0));
 ///
 /// let (tx, rx) = channel();
-/// for _ in range(0u, 10) {
+/// for _ in 0u..10 {
 ///     let (data, tx) = (data.clone(), tx.clone());
 ///     Thread::spawn(move || {
 ///         // The shared static can only be accessed once the lock is held.
@@ -371,7 +371,7 @@ mod test {
         static K: uint = 3;
 
         fn inc() {
-            for _ in range(0, J) {
+            for _ in 0..J {
                 unsafe {
                     let _g = M.lock().unwrap();
                     CNT += 1;
@@ -380,7 +380,7 @@ mod test {
         }
 
         let (tx, rx) = channel();
-        for _ in range(0, K) {
+        for _ in 0..K {
             let tx2 = tx.clone();
             Thread::spawn(move|| { inc(); tx2.send(()).unwrap(); });
             let tx2 = tx.clone();
@@ -388,7 +388,7 @@ mod test {
         }
 
         drop(tx);
-        for _ in range(0, 2 * K) {
+        for _ in 0..2 * K {
             rx.recv().unwrap();
         }
         assert_eq!(unsafe {CNT}, J * K * 2);
diff --git a/src/libstd/sync/once.rs b/src/libstd/sync/once.rs
index 1c489540581..0604003cecd 100644
--- a/src/libstd/sync/once.rs
+++ b/src/libstd/sync/once.rs
@@ -147,10 +147,10 @@ mod test {
         static mut run: bool = false;
 
         let (tx, rx) = channel();
-        for _ in range(0u, 10) {
+        for _ in 0u..10 {
             let tx = tx.clone();
             Thread::spawn(move|| {
-                for _ in range(0u, 4) { Thread::yield_now() }
+                for _ in 0u..4 { Thread::yield_now() }
                 unsafe {
                     O.call_once(|| {
                         assert!(!run);
@@ -170,7 +170,7 @@ mod test {
             assert!(run);
         }
 
-        for _ in range(0u, 10) {
+        for _ in 0u..10 {
             rx.recv().unwrap();
         }
     }
diff --git a/src/libstd/sync/rwlock.rs b/src/libstd/sync/rwlock.rs
index 12befbf72e3..b5817ad64f6 100644
--- a/src/libstd/sync/rwlock.rs
+++ b/src/libstd/sync/rwlock.rs
@@ -416,11 +416,11 @@ mod tests {
         static M: uint = 1000;
 
         let (tx, rx) = channel::<()>();
-        for _ in range(0, N) {
+        for _ in 0..N {
             let tx = tx.clone();
             Thread::spawn(move|| {
                 let mut rng = rand::thread_rng();
-                for _ in range(0, M) {
+                for _ in 0..M {
                     if rng.gen_weighted_bool(N) {
                         drop(R.write().unwrap());
                     } else {
@@ -488,7 +488,7 @@ mod tests {
 
         Thread::spawn(move|| {
             let mut lock = arc2.write().unwrap();
-            for _ in range(0u, 10) {
+            for _ in 0u..10 {
                 let tmp = *lock;
                 *lock = -1;
                 Thread::yield_now();
@@ -499,7 +499,7 @@ mod tests {
 
         // Readers try to catch the writer in the act
         let mut children = Vec::new();
-        for _ in range(0u, 5) {
+        for _ in 0u..5 {
             let arc3 = arc.clone();
             children.push(Thread::scoped(move|| {
                 let lock = arc3.read().unwrap();
diff --git a/src/libstd/sync/task_pool.rs b/src/libstd/sync/task_pool.rs
index 3fac998d3e7..1bfcbcf96f1 100644
--- a/src/libstd/sync/task_pool.rs
+++ b/src/libstd/sync/task_pool.rs
@@ -66,7 +66,7 @@ impl<'a> Drop for Sentinel<'a> {
 /// let pool = TaskPool::new(4u);
 ///
 /// let (tx, rx) = channel();
-/// for _ in range(0, 8u) {
+/// for _ in 0..8u {
 ///     let tx = tx.clone();
 ///     pool.execute(move|| {
 ///         tx.send(1u).unwrap();
@@ -96,7 +96,7 @@ impl TaskPool {
         let rx = Arc::new(Mutex::new(rx));
 
         // Threadpool threads
-        for _ in range(0, threads) {
+        for _ in 0..threads {
             spawn_in_pool(rx.clone());
         }
 
@@ -151,7 +151,7 @@ mod test {
         let pool = TaskPool::new(TEST_TASKS);
 
         let (tx, rx) = channel();
-        for _ in range(0, TEST_TASKS) {
+        for _ in 0..TEST_TASKS {
             let tx = tx.clone();
             pool.execute(move|| {
                 tx.send(1u).unwrap();
@@ -174,13 +174,13 @@ mod test {
         let pool = TaskPool::new(TEST_TASKS);
 
         // Panic all the existing threads.
-        for _ in range(0, TEST_TASKS) {
+        for _ in 0..TEST_TASKS {
             pool.execute(move|| -> () { panic!() });
         }
 
         // Ensure new threads were spawned to compensate.
         let (tx, rx) = channel();
-        for _ in range(0, TEST_TASKS) {
+        for _ in 0..TEST_TASKS {
             let tx = tx.clone();
             pool.execute(move|| {
                 tx.send(1u).unwrap();
@@ -198,7 +198,7 @@ mod test {
         let waiter = Arc::new(Barrier::new(TEST_TASKS + 1));
 
         // Panic all the existing threads in a bit.
-        for _ in range(0, TEST_TASKS) {
+        for _ in 0..TEST_TASKS {
             let waiter = waiter.clone();
             pool.execute(move|| {
                 waiter.wait();
diff --git a/src/libstd/sys/windows/thread_local.rs b/src/libstd/sys/windows/thread_local.rs
index d148f82184b..655195a3c28 100644
--- a/src/libstd/sys/windows/thread_local.rs
+++ b/src/libstd/sys/windows/thread_local.rs
@@ -235,7 +235,7 @@ unsafe extern "system" fn on_tls_callback(h: LPVOID,
 
 unsafe fn run_dtors() {
     let mut any_run = true;
-    for _ in range(0, 5i) {
+    for _ in 0..5i {
         if !any_run { break }
         any_run = false;
         let dtors = {
diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs
index e0d4f69a34c..f93a8b4b317 100644
--- a/src/libsyntax/codemap.rs
+++ b/src/libsyntax/codemap.rs
@@ -431,7 +431,7 @@ impl CodeMap {
         let lo = self.lookup_char_pos(sp.lo);
         let hi = self.lookup_char_pos(sp.hi);
         let mut lines = Vec::new();
-        for i in range(lo.line - 1us, hi.line as usize) {
+        for i in lo.line - 1us..hi.line as usize {
             lines.push(i);
         };
         FileLines {file: lo.file, lines: lines}
diff --git a/src/libsyntax/diagnostic.rs b/src/libsyntax/diagnostic.rs
index f3e66897316..4ffa0551881 100644
--- a/src/libsyntax/diagnostic.rs
+++ b/src/libsyntax/diagnostic.rs
@@ -490,11 +490,11 @@ fn highlight_lines(err: &mut EmitterWriter,
         // Skip is the number of characters we need to skip because they are
         // part of the 'filename:line ' part of the previous line.
         let skip = fm.name.len() + digits + 3us;
-        for _ in range(0, skip) {
+        for _ in 0..skip {
             s.push(' ');
         }
         if let Some(orig) = fm.get_line(lines.lines[0]) {
-            for pos in range(0us, left - skip) {
+            for pos in 0us..left - skip {
                 let cur_char = orig.as_bytes()[pos] as char;
                 // Whenever a tab occurs on the previous line, we insert one on
                 // the error-point-squiggly-line as well (instead of a space).
@@ -513,7 +513,7 @@ fn highlight_lines(err: &mut EmitterWriter,
         if hi.col != lo.col {
             // the ^ already takes up one space
             let num_squigglies = hi.col.to_usize() - lo.col.to_usize() - 1us;
-            for _ in range(0, num_squigglies) {
+            for _ in 0..num_squigglies {
                 s.push('~');
             }
         }
@@ -563,7 +563,7 @@ fn custom_highlight_lines(w: &mut EmitterWriter,
     // Span seems to use half-opened interval, so subtract 1
     let skip = last_line_start.len() + hi.col.to_usize() - 1;
     let mut s = String::new();
-    for _ in range(0, skip) {
+    for _ in 0..skip {
         s.push(' ');
     }
     s.push('^');
diff --git a/src/libsyntax/ext/tt/macro_parser.rs b/src/libsyntax/ext/tt/macro_parser.rs
index 993d9000ae1..a718cc597c4 100644
--- a/src/libsyntax/ext/tt/macro_parser.rs
+++ b/src/libsyntax/ext/tt/macro_parser.rs
@@ -339,7 +339,7 @@ pub fn parse(sess: &ParseSess,
                         // most of the time.
 
                         // Only touch the binders we have actually bound
-                        for idx in range(ei.match_lo, ei.match_hi) {
+                        for idx in ei.match_lo..ei.match_hi {
                             let sub = (ei.matches[idx]).clone();
                             (&mut new_pos.matches[idx])
                                    .push(Rc::new(MatchedSeq(sub, mk_sp(ei.sp_lo,
@@ -385,7 +385,7 @@ pub fn parse(sess: &ParseSess,
                             new_ei.match_cur += seq.num_captures;
                             new_ei.idx += 1us;
                             //we specifically matched zero repeats.
-                            for idx in range(ei.match_cur, ei.match_cur + seq.num_captures) {
+                            for idx in ei.match_cur..ei.match_cur + seq.num_captures {
                                 (&mut new_ei.matches[idx]).push(Rc::new(MatchedSeq(vec![], sp)));
                             }
 
@@ -495,7 +495,7 @@ pub fn parse(sess: &ParseSess,
                 }
                 cur_eis.push(ei);
 
-                for _ in range(0, rust_parser.tokens_consumed) {
+                for _ in 0..rust_parser.tokens_consumed {
                     let _ = rdr.next_token();
                 }
             }
diff --git a/src/libsyntax/parse/lexer/mod.rs b/src/libsyntax/parse/lexer/mod.rs
index 99be1b11b11..417e440844a 100644
--- a/src/libsyntax/parse/lexer/mod.rs
+++ b/src/libsyntax/parse/lexer/mod.rs
@@ -732,7 +732,7 @@ impl<'a> StringReader<'a> {
         let start_bpos = self.last_pos;
         let mut accum_int = 0;
 
-        for _ in range(0, n_digits) {
+        for _ in 0..n_digits {
             if self.is_eof() {
                 let last_bpos = self.last_pos;
                 self.fatal_span_(start_bpos, last_bpos, "unterminated numeric character escape");
@@ -1217,7 +1217,7 @@ impl<'a> StringReader<'a> {
                 }
                 //if self.curr_is('"') {
                     //content_end_bpos = self.last_pos;
-                    //for _ in range(0, hash_count) {
+                    //for _ in 0..hash_count {
                         //self.bump();
                         //if !self.curr_is('#') {
                             //continue 'outer;
@@ -1225,7 +1225,7 @@ impl<'a> StringReader<'a> {
                 match c {
                     '"' => {
                         content_end_bpos = self.last_pos;
-                        for _ in range(0, hash_count) {
+                        for _ in 0..hash_count {
                             self.bump();
                             if !self.curr_is('#') {
                                 continue 'outer;
@@ -1402,7 +1402,7 @@ impl<'a> StringReader<'a> {
                 },
                 Some('"') => {
                     content_end_bpos = self.last_pos;
-                    for _ in range(0, hash_count) {
+                    for _ in 0..hash_count {
                         self.bump();
                         if !self.curr_is('#') {
                             continue 'outer;
diff --git a/src/libsyntax/parse/mod.rs b/src/libsyntax/parse/mod.rs
index 4bd476885a0..7834fae6276 100644
--- a/src/libsyntax/parse/mod.rs
+++ b/src/libsyntax/parse/mod.rs
@@ -472,7 +472,7 @@ pub fn str_lit(lit: &str) -> String {
                         } else {
                             // otherwise, a normal escape
                             let (c, n) = char_lit(&lit[i..]);
-                            for _ in range(0, n - 1) { // we don't need to move past the first \
+                            for _ in 0..n - 1 { // we don't need to move past the first \
                                 chars.next();
                             }
                             res.push(c);
@@ -635,7 +635,7 @@ pub fn binary_lit(lit: &str) -> Rc<Vec<u8>> {
                         // otherwise, a normal escape
                         let (c, n) = byte_lit(&lit[i..]);
                         // we don't need to move past the first \
-                        for _ in range(0, n - 1) {
+                        for _ in 0..n - 1 {
                             chars.next();
                         }
                         res.push(c);
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index ae3c4addf38..fe46830c50d 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -2457,7 +2457,7 @@ impl<'a> State<'a> {
         try!(word(&mut self.s, "<"));
 
         let mut ints = Vec::new();
-        for i in range(0us, total) {
+        for i in 0us..total {
             ints.push(i);
         }
 
diff --git a/src/libterm/terminfo/parser/compiled.rs b/src/libterm/terminfo/parser/compiled.rs
index f82c3ea2e7b..a5571076aab 100644
--- a/src/libterm/terminfo/parser/compiled.rs
+++ b/src/libterm/terminfo/parser/compiled.rs
@@ -226,7 +226,7 @@ pub fn parse(file: &mut old_io::Reader, longnames: bool)
 
     let mut bools_map = HashMap::new();
     if bools_bytes != 0 {
-        for i in range(0, bools_bytes) {
+        for i in 0..bools_bytes {
             let b = try!(file.read_byte());
             if b == 1 {
                 bools_map.insert(bnames[i as uint].to_string(), true);
@@ -240,7 +240,7 @@ pub fn parse(file: &mut old_io::Reader, longnames: bool)
 
     let mut numbers_map = HashMap::new();
     if numbers_count != 0 {
-        for i in range(0, numbers_count) {
+        for i in 0..numbers_count {
             let n = try!(file.read_le_u16());
             if n != 0xFFFF {
                 numbers_map.insert(nnames[i as uint].to_string(), n);
@@ -252,7 +252,7 @@ pub fn parse(file: &mut old_io::Reader, longnames: bool)
 
     if string_offsets_count != 0 {
         let mut string_offsets = Vec::with_capacity(10);
-        for _ in range(0, string_offsets_count) {
+        for _ in 0..string_offsets_count {
             string_offsets.push(try!(file.read_le_u16()));
         }
 
diff --git a/src/libtest/lib.rs b/src/libtest/lib.rs
index 43a1bbd6c02..14bedec0484 100644
--- a/src/libtest/lib.rs
+++ b/src/libtest/lib.rs
@@ -1008,7 +1008,7 @@ impl Bencher {
     pub fn iter<T, F>(&mut self, mut inner: F) where F: FnMut() -> T {
         self.dur = Duration::span(|| {
             let k = self.iterations;
-            for _ in range(0u64, k) {
+            for _ in 0u64..k {
                 black_box(inner());
             }
         });
diff --git a/src/test/bench/core-map.rs b/src/test/bench/core-map.rs
index 663ee9b719f..8330c159769 100644
--- a/src/test/bench/core-map.rs
+++ b/src/test/bench/core-map.rs
@@ -40,19 +40,19 @@ fn ascending<M: MutableMap>(map: &mut M, n_keys: uint) {
     println!(" Ascending integers:");
 
     timed("insert", || {
-        for i in range(0u, n_keys) {
+        for i in 0u..n_keys {
             map.insert(i, i + 1);
         }
     });
 
     timed("search", || {
-        for i in range(0u, n_keys) {
+        for i in 0u..n_keys {
             assert_eq!(map.find(&i).unwrap(), &(i + 1));
         }
     });
 
     timed("remove", || {
-        for i in range(0, n_keys) {
+        for i in 0..n_keys {
             assert!(map.remove(&i));
         }
     });
@@ -74,7 +74,7 @@ fn descending<M: MutableMap>(map: &mut M, n_keys: uint) {
     });
 
     timed("remove", || {
-        for i in range(0, n_keys) {
+        for i in 0..n_keys {
             assert!(map.remove(&i));
         }
     });
@@ -82,19 +82,19 @@ fn descending<M: MutableMap>(map: &mut M, n_keys: uint) {
 
 fn vector<M: MutableMap>(map: &mut M, n_keys: uint, dist: &[uint]) {
     timed("insert", || {
-        for i in range(0u, n_keys) {
+        for i in 0u..n_keys {
             map.insert(dist[i], i + 1);
         }
     });
 
     timed("search", || {
-        for i in range(0u, n_keys) {
+        for i in 0u..n_keys {
             assert_eq!(map.find(&dist[i]).unwrap(), &(i + 1));
         }
     });
 
     timed("remove", || {
-        for i in range(0u, n_keys) {
+        for i in 0u..n_keys {
             assert!(map.remove(&dist[i]));
         }
     });
diff --git a/src/test/bench/core-set.rs b/src/test/bench/core-set.rs
index e638721a501..b78b147348a 100644
--- a/src/test/bench/core-set.rs
+++ b/src/test/bench/core-set.rs
@@ -71,11 +71,11 @@ impl Results {
         {
             let mut set = f();
             timed(&mut self.sequential_ints, || {
-                for i in range(0u, num_keys) {
+                for i in 0u..num_keys {
                     set.insert(i);
                 }
 
-                for i in range(0u, num_keys) {
+                for i in 0u..num_keys {
                     assert!(set.contains(&i));
                 }
             })
@@ -84,7 +84,7 @@ impl Results {
         {
             let mut set = f();
             timed(&mut self.random_ints, || {
-                for _ in range(0, num_keys) {
+                for _ in 0..num_keys {
                     set.insert(rng.gen::<uint>() % rand_cap);
                 }
             })
@@ -92,12 +92,12 @@ impl Results {
 
         {
             let mut set = f();
-            for i in range(0u, num_keys) {
+            for i in 0u..num_keys {
                 set.insert(i);
             }
 
             timed(&mut self.delete_ints, || {
-                for i in range(0u, num_keys) {
+                for i in 0u..num_keys {
                     assert!(set.remove(&i));
                 }
             })
@@ -114,11 +114,11 @@ impl Results {
         {
             let mut set = f();
             timed(&mut self.sequential_strings, || {
-                for i in range(0u, num_keys) {
+                for i in 0u..num_keys {
                     set.insert(i.to_string());
                 }
 
-                for i in range(0u, num_keys) {
+                for i in 0u..num_keys {
                     assert!(set.contains(&i.to_string()));
                 }
             })
@@ -127,7 +127,7 @@ impl Results {
         {
             let mut set = f();
             timed(&mut self.random_strings, || {
-                for _ in range(0, num_keys) {
+                for _ in 0..num_keys {
                     let s = rng.gen::<uint>().to_string();
                     set.insert(s);
                 }
@@ -136,11 +136,11 @@ impl Results {
 
         {
             let mut set = f();
-            for i in range(0u, num_keys) {
+            for i in 0u..num_keys {
                 set.insert(i.to_string());
             }
             timed(&mut self.delete_strings, || {
-                for i in range(0u, num_keys) {
+                for i in 0u..num_keys {
                     assert!(set.remove(&i.to_string()));
                 }
             })
diff --git a/src/test/bench/core-std.rs b/src/test/bench/core-std.rs
index 34f46e80a64..6d12d84f652 100644
--- a/src/test/bench/core-std.rs
+++ b/src/test/bench/core-std.rs
@@ -76,7 +76,7 @@ fn read_line() {
     let mut path = Path::new(env!("CFG_SRC_DIR"));
     path.push("src/test/bench/shootout-k-nucleotide.data");
 
-    for _ in range(0u, 3) {
+    for _ in 0u..3 {
         let mut reader = BufferedReader::new(File::open(&path).unwrap());
         for _line in reader.lines() {
         }
@@ -126,7 +126,7 @@ fn vec_push_all() {
     let mut r = rand::thread_rng();
 
     let mut v = Vec::new();
-    for i in range(0u, 1500) {
+    for i in 0u..1500 {
         let mut rv = repeat(i).take(r.gen_range(0u, i + 1)).collect::<Vec<_>>();
         if r.gen() {
             v.push_all(rv.as_slice());
@@ -140,7 +140,7 @@ fn vec_push_all() {
 
 fn is_utf8_ascii() {
     let mut v : Vec<u8> = Vec::new();
-    for _ in range(0u, 20000) {
+    for _ in 0u..20000 {
         v.push('b' as u8);
         if str::from_utf8(v.as_slice()).is_err() {
             panic!("from_utf8 panicked");
@@ -151,7 +151,7 @@ fn is_utf8_ascii() {
 fn is_utf8_multibyte() {
     let s = "b¢€𤭢";
     let mut v : Vec<u8> = Vec::new();
-    for _ in range(0u, 5000) {
+    for _ in 0u..5000 {
         v.push_all(s.as_bytes());
         if str::from_utf8(v.as_slice()).is_err() {
             panic!("from_utf8 panicked");
diff --git a/src/test/bench/core-uint-to-str.rs b/src/test/bench/core-uint-to-str.rs
index 6a66785a1ae..99d83d761df 100644
--- a/src/test/bench/core-uint-to-str.rs
+++ b/src/test/bench/core-uint-to-str.rs
@@ -22,7 +22,7 @@ fn main() {
 
     let n = args[1].parse().unwrap();
 
-    for i in range(0u, n) {
+    for i in 0u..n {
         let x = i.to_string();
         println!("{}", x);
     }
diff --git a/src/test/bench/msgsend-pipes-shared.rs b/src/test/bench/msgsend-pipes-shared.rs
index 7fe086f1d0e..6928397566d 100644
--- a/src/test/bench/msgsend-pipes-shared.rs
+++ b/src/test/bench/msgsend-pipes-shared.rs
@@ -61,10 +61,10 @@ fn run(args: &[String]) {
     let dur = Duration::span(|| {
         let (to_child, to_parent, from_parent) = p.take().unwrap();
         let mut worker_results = Vec::new();
-        for _ in range(0u, workers) {
+        for _ in 0u..workers {
             let to_child = to_child.clone();
             worker_results.push(Thread::scoped(move|| {
-                for _ in range(0u, size / workers) {
+                for _ in 0u..size / workers {
                     //println!("worker {}: sending {} bytes", i, num_bytes);
                     to_child.send(request::bytes(num_bytes)).unwrap();
                 }
diff --git a/src/test/bench/msgsend-pipes.rs b/src/test/bench/msgsend-pipes.rs
index fef78f413f6..9bf0ce1a590 100644
--- a/src/test/bench/msgsend-pipes.rs
+++ b/src/test/bench/msgsend-pipes.rs
@@ -57,7 +57,7 @@ fn run(args: &[String]) {
         let from_parent = if workers == 1 {
             let (to_child, from_parent) = channel();
             worker_results.push(Thread::scoped(move|| {
-                for _ in range(0u, size / workers) {
+                for _ in 0u..size / workers {
                     //println!("worker {}: sending {} bytes", i, num_bytes);
                     to_child.send(request::bytes(num_bytes));
                 }
@@ -66,10 +66,10 @@ fn run(args: &[String]) {
             from_parent
         } else {
             let (to_child, from_parent) = channel();
-            for _ in range(0u, workers) {
+            for _ in 0u..workers {
                 let to_child = to_child.clone();
                 worker_results.push(Thread::scoped(move|| {
-                    for _ in range(0u, size / workers) {
+                    for _ in 0u..size / workers {
                         //println!("worker {}: sending {} bytes", i, num_bytes);
                         to_child.send(request::bytes(num_bytes));
                     }
diff --git a/src/test/bench/msgsend-ring-mutex-arcs.rs b/src/test/bench/msgsend-ring-mutex-arcs.rs
index 51819424929..c344084a4c0 100644
--- a/src/test/bench/msgsend-ring-mutex-arcs.rs
+++ b/src/test/bench/msgsend-ring-mutex-arcs.rs
@@ -50,7 +50,7 @@ fn thread_ring(i: uint, count: uint, num_chan: pipe, num_port: pipe) {
     let mut num_chan = Some(num_chan);
     let mut num_port = Some(num_port);
     // Send/Receive lots of messages.
-    for j in range(0u, count) {
+    for j in 0u..count {
         //println!("task %?, iter %?", i, j);
         let num_chan2 = num_chan.take().unwrap();
         let num_port2 = num_port.take().unwrap();
@@ -84,7 +84,7 @@ fn main() {
         // create the ring
         let mut futures = Vec::new();
 
-        for i in range(1u, num_tasks) {
+        for i in 1u..num_tasks {
             //println!("spawning %?", i);
             let (new_chan, num_port) = init();
             let num_chan_2 = num_chan.clone();
diff --git a/src/test/bench/noise.rs b/src/test/bench/noise.rs
index 75edd64fb2e..664491eed7d 100644
--- a/src/test/bench/noise.rs
+++ b/src/test/bench/noise.rs
@@ -104,17 +104,17 @@ fn main() {
     let mut pixels = [0f32; 256*256];
     let n2d = Noise2DContext::new();
 
-    for _ in range(0u, 100) {
-        for y in range(0u, 256) {
-            for x in range(0u, 256) {
+    for _ in 0u..100 {
+        for y in 0u..256 {
+            for x in 0u..256 {
                 let v = n2d.get(x as f32 * 0.1, y as f32 * 0.1);
                 pixels[y*256+x] = v * 0.5 + 0.5;
             }
         }
     }
 
-    for y in range(0u, 256) {
-        for x in range(0u, 256) {
+    for y in 0u..256 {
+        for x in 0u..256 {
             let idx = (pixels[y*256+x] / 0.2) as uint;
             print!("{}", symbols[idx]);
         }
diff --git a/src/test/bench/rt-messaging-ping-pong.rs b/src/test/bench/rt-messaging-ping-pong.rs
index b854dc11b98..a67deac67db 100644
--- a/src/test/bench/rt-messaging-ping-pong.rs
+++ b/src/test/bench/rt-messaging-ping-pong.rs
@@ -37,7 +37,7 @@ fn ping_pong_bench(n: uint, m: uint) {
 
         let guard_a = Thread::scoped(move|| {
             let (tx, rx) = (atx, brx);
-            for _ in range(0, n) {
+            for _ in 0..n {
                 tx.send(()).unwrap();
                 rx.recv().unwrap();
             }
@@ -45,7 +45,7 @@ fn ping_pong_bench(n: uint, m: uint) {
 
         let guard_b = Thread::scoped(move|| {
             let (tx, rx) = (btx, arx);
-            for _ in range(0, n) {
+            for _ in 0..n {
                 rx.recv().unwrap();
                 tx.send(()).unwrap();
             }
@@ -55,7 +55,7 @@ fn ping_pong_bench(n: uint, m: uint) {
         guard_b.join().ok();
     }
 
-    for _ in range(0, m) {
+    for _ in 0..m {
         run_pair(n)
     }
 }
diff --git a/src/test/bench/shootout-chameneos-redux.rs b/src/test/bench/shootout-chameneos-redux.rs
index 12dc224a82f..c30b68dbe68 100644
--- a/src/test/bench/shootout-chameneos-redux.rs
+++ b/src/test/bench/shootout-chameneos-redux.rs
@@ -200,7 +200,7 @@ fn rendezvous(nn: uint, set: Vec<Color>) {
     let mut creatures_met = 0;
 
     // set up meetings...
-    for _ in range(0, nn) {
+    for _ in 0..nn {
         let fst_creature = from_creatures.recv().unwrap();
         let snd_creature = from_creatures.recv().unwrap();
 
diff --git a/src/test/bench/shootout-fannkuch-redux.rs b/src/test/bench/shootout-fannkuch-redux.rs
index ebdecbc8d02..cd65b8e7d81 100644
--- a/src/test/bench/shootout-fannkuch-redux.rs
+++ b/src/test/bench/shootout-fannkuch-redux.rs
@@ -78,7 +78,7 @@ struct Perm {
 impl Perm {
     fn new(n: u32) -> Perm {
         let mut fact = [1; 16];
-        for i in range(1, n as uint + 1) {
+        for i in 1..n as uint + 1 {
             fact[i] = fact[i - 1] * i as u32;
         }
         Perm {
@@ -106,7 +106,7 @@ impl Perm {
             }
 
             let d = d as uint;
-            for j in range(0, i + 1) {
+            for j in 0..i + 1 {
                 self.perm.p[j] = if j + d <= i {pp[j + d]} else {pp[j+d-i-1]} as i32;
             }
         }
diff --git a/src/test/bench/shootout-fasta-redux.rs b/src/test/bench/shootout-fasta-redux.rs
index a9525104d6d..f32e98ef17d 100644
--- a/src/test/bench/shootout-fasta-redux.rs
+++ b/src/test/bench/shootout-fasta-redux.rs
@@ -193,14 +193,14 @@ impl<'a, W: Writer> RandomFasta<'a, W> {
         let chars_left = n % LINE_LEN;
         let mut buf = [0;LINE_LEN + 1];
 
-        for _ in range(0, lines) {
-            for i in range(0u, LINE_LEN) {
+        for _ in 0..lines {
+            for i in 0u..LINE_LEN {
                 buf[i] = self.nextc();
             }
             buf[LINE_LEN] = '\n' as u8;
             try!(self.out.write(&buf));
         }
-        for i in range(0u, chars_left) {
+        for i in 0u..chars_left {
             buf[i] = self.nextc();
         }
         self.out.write(&buf[..chars_left])
diff --git a/src/test/bench/shootout-fasta.rs b/src/test/bench/shootout-fasta.rs
index 193be04f809..8a2a8453a9e 100644
--- a/src/test/bench/shootout-fasta.rs
+++ b/src/test/bench/shootout-fasta.rs
@@ -92,7 +92,7 @@ fn make_fasta<W: Writer, I: Iterator<Item=u8>>(
     let mut line = [0u8; LINE_LENGTH + 1];
     while n > 0 {
         let nb = min(LINE_LENGTH, n);
-        for i in range(0, nb) {
+        for i in 0..nb {
             line[i] = it.next().unwrap();
         }
         n -= nb;
diff --git a/src/test/bench/shootout-k-nucleotide.rs b/src/test/bench/shootout-k-nucleotide.rs
index 67654f979c2..2c3ade63f06 100644
--- a/src/test/bench/shootout-k-nucleotide.rs
+++ b/src/test/bench/shootout-k-nucleotide.rs
@@ -84,7 +84,7 @@ impl Code {
     fn unpack(&self, frame: uint) -> String {
         let mut key = self.hash();
         let mut result = Vec::new();
-        for _ in range(0, frame) {
+        for _ in 0..frame {
             result.push(unpack_symbol((key as u8) & 3));
             key >>= 2;
         }
@@ -242,7 +242,7 @@ fn generate_frequencies(mut input: &[u8], frame: uint) -> Table {
     let mut code = Code(0);
 
     // Pull first frame.
-    for _ in range(0, frame) {
+    for _ in 0..frame {
         code = code.push_char(input[0]);
         input = &input[1..];
     }
diff --git a/src/test/bench/shootout-mandelbrot.rs b/src/test/bench/shootout-mandelbrot.rs
index d0959068ce8..4a9c5a91dcf 100644
--- a/src/test/bench/shootout-mandelbrot.rs
+++ b/src/test/bench/shootout-mandelbrot.rs
@@ -93,7 +93,7 @@ fn mandelbrot<W: old_io::Writer>(w: uint, mut out: W) -> old_io::IoResult<()> {
             };
 
             // This assumes w == h
-            for x in range(start, end) {
+            for x in start..end {
                 let xf = x as f64;
                 let xy = f64x2(xf, xf);
 
@@ -165,7 +165,7 @@ fn write_line(init_i: f64, vec_init_r: &[f64], res: &mut Vec<u8>) {
             let mut i_sq = v_init_i * v_init_i;
 
             let mut b = 0;
-            for _ in range(0, ITER) {
+            for _ in 0..ITER {
                 let r = cur_r;
                 let i = cur_i;
 
diff --git a/src/test/bench/shootout-meteor.rs b/src/test/bench/shootout-meteor.rs
index b31241f1215..3717221e0f4 100644
--- a/src/test/bench/shootout-meteor.rs
+++ b/src/test/bench/shootout-meteor.rs
@@ -211,7 +211,7 @@ fn filter_masks(masks: &mut Vec<Vec<Vec<u64>>>) {
 
 // Gets the identifier of a mask.
 fn get_id(m: u64) -> u8 {
-    for id in range(0u8, 10) {
+    for id in 0u8..10 {
         if m & (1 << (id + 50) as uint) != 0 {return id;}
     }
     panic!("{:016x} does not have a valid identifier", m);
@@ -222,7 +222,7 @@ fn to_vec(raw_sol: &List<u64>) -> Vec<u8> {
     let mut sol = repeat('.' as u8).take(50).collect::<Vec<_>>();
     for &m in raw_sol.iter() {
         let id = '0' as u8 + get_id(m);
-        for i in range(0u, 50) {
+        for i in 0u..50 {
             if m & 1 << i != 0 {
                 sol[i] = id;
             }
diff --git a/src/test/bench/shootout-nbody.rs b/src/test/bench/shootout-nbody.rs
index 299691e400a..7325b8a4738 100644
--- a/src/test/bench/shootout-nbody.rs
+++ b/src/test/bench/shootout-nbody.rs
@@ -102,7 +102,7 @@ struct Planet {
 }
 
 fn advance(bodies: &mut [Planet;N_BODIES], dt: f64, steps: int) {
-    for _ in range(0, steps) {
+    for _ in 0..steps {
         let mut b_slice = bodies.as_mut_slice();
         loop {
             let bi = match shift_mut_ref(&mut b_slice) {
diff --git a/src/test/bench/shootout-pfib.rs b/src/test/bench/shootout-pfib.rs
index c70495dd911..2f68262b608 100644
--- a/src/test/bench/shootout-pfib.rs
+++ b/src/test/bench/shootout-pfib.rs
@@ -77,7 +77,7 @@ fn stress_task(id: int) {
 
 fn stress(num_tasks: int) {
     let mut results = Vec::new();
-    for i in range(0, num_tasks) {
+    for i in 0..num_tasks {
         results.push(Thread::scoped(move|| {
             stress_task(i);
         }));
@@ -106,8 +106,8 @@ fn main() {
 
         let num_trials = 10;
 
-        for n in range(1, max + 1) {
-            for _ in range(0u, num_trials) {
+        for n in 1..max + 1 {
+            for _ in 0u..num_trials {
                 let mut fibn = None;
                 let dur = Duration::span(|| fibn = Some(fib(n)));
                 let fibn = fibn.unwrap();
diff --git a/src/test/bench/shootout-spectralnorm.rs b/src/test/bench/shootout-spectralnorm.rs
index f332a40164d..ec85ba18f90 100644
--- a/src/test/bench/shootout-spectralnorm.rs
+++ b/src/test/bench/shootout-spectralnorm.rs
@@ -68,7 +68,7 @@ fn spectralnorm(n: uint) -> f64 {
     let mut u = repeat(1.0).take(n).collect::<Vec<_>>();
     let mut v = u.clone();
     let mut tmp = v.clone();
-    for _ in range(0u, 10) {
+    for _ in 0u..10 {
         mult_AtAv(u.as_slice(), v.as_mut_slice(), tmp.as_mut_slice());
         mult_AtAv(v.as_slice(), u.as_mut_slice(), tmp.as_mut_slice());
     }
diff --git a/src/test/bench/std-smallintmap.rs b/src/test/bench/std-smallintmap.rs
index c200c089bf4..562b82a92a3 100644
--- a/src/test/bench/std-smallintmap.rs
+++ b/src/test/bench/std-smallintmap.rs
@@ -15,13 +15,13 @@ use std::os;
 use std::time::Duration;
 
 fn append_sequential(min: uint, max: uint, map: &mut VecMap<uint>) {
-    for i in range(min, max) {
+    for i in min..max {
         map.insert(i, i + 22u);
     }
 }
 
 fn check_sequential(min: uint, max: uint, map: &VecMap<uint>) {
-    for i in range(min, max) {
+    for i in min..max {
         assert_eq!(map[i], i + 22u);
     }
 }
@@ -41,7 +41,7 @@ fn main() {
     let mut checkf = Duration::seconds(0);
     let mut appendf = Duration::seconds(0);
 
-    for _ in range(0u, rep) {
+    for _ in 0u..rep {
         let mut map = VecMap::new();
         let d1 = Duration::span(|| append_sequential(0u, max, &mut map));
         let d2 = Duration::span(|| check_sequential(0u, max, &map));
diff --git a/src/test/bench/sudoku.rs b/src/test/bench/sudoku.rs
index 8c6925a0f1f..75126973cd9 100644
--- a/src/test/bench/sudoku.rs
+++ b/src/test/bench/sudoku.rs
@@ -81,9 +81,9 @@ impl Sudoku {
     }
 
     pub fn write(&self, writer: &mut old_io::Writer) {
-        for row in range(0u8, 9u8) {
+        for row in 0u8..9u8 {
             write!(writer, "{}", self.grid[row as uint][0]);
-            for col in range(1u8, 9u8) {
+            for col in 1u8..9u8 {
                 write!(writer, " {}", self.grid[row as uint][col as uint]);
             }
             write!(writer, "\n");
@@ -93,8 +93,8 @@ impl Sudoku {
     // solve sudoku grid
     pub fn solve(&mut self) {
         let mut work: Vec<(u8, u8)> = Vec::new(); /* queue of uncolored fields */
-        for row in range(0u8, 9u8) {
-            for col in range(0u8, 9u8) {
+        for row in 0u8..9u8 {
+            for col in 0u8..9u8 {
                 let color = self.grid[row as uint][col as uint];
                 if color == 0u8 {
                     work.push((row, col));
@@ -139,7 +139,7 @@ impl Sudoku {
 
     // find colors available in neighbourhood of (row, col)
     fn drop_colors(&mut self, avail: &mut Colors, row: u8, col: u8) {
-        for idx in range(0u8, 9u8) {
+        for idx in 0u8..9u8 {
             /* check same column fields */
             avail.remove(self.grid[idx as uint][col as uint]);
             /* check same row fields */
@@ -149,8 +149,8 @@ impl Sudoku {
         // check same block fields
         let row0 = (row / 3u8) * 3u8;
         let col0 = (col / 3u8) * 3u8;
-        for alt_row in range(row0, row0 + 3u8) {
-            for alt_col in range(col0, col0 + 3u8) {
+        for alt_row in row0..row0 + 3u8 {
+            for alt_col in col0..col0 + 3u8 {
                 avail.remove(self.grid[alt_row as uint][alt_col as uint]);
             }
         }
diff --git a/src/test/bench/task-perf-alloc-unwind.rs b/src/test/bench/task-perf-alloc-unwind.rs
index 03dc9dd4441..216745ca110 100644
--- a/src/test/bench/task-perf-alloc-unwind.rs
+++ b/src/test/bench/task-perf-alloc-unwind.rs
@@ -30,7 +30,7 @@ fn main() {
 }
 
 fn run(repeat: int, depth: int) {
-    for _ in range(0, repeat) {
+    for _ in 0..repeat {
         let dur = Duration::span(|| {
             let _ = Thread::scoped(move|| {
                 recurse_or_panic(depth, None)
diff --git a/src/test/compile-fail/borrowck-lend-flow-loop.rs b/src/test/compile-fail/borrowck-lend-flow-loop.rs
index 491a0d40bec..545c7663085 100644
--- a/src/test/compile-fail/borrowck-lend-flow-loop.rs
+++ b/src/test/compile-fail/borrowck-lend-flow-loop.rs
@@ -41,7 +41,7 @@ fn block_overarching_alias_mut() {
 
     let mut v = box 3;
     let mut x = &mut v;
-    for _ in range(0is, 3) {
+    for _ in 0is..3 {
         borrow(&*v); //~ ERROR cannot borrow
     }
     *x = box 5;
diff --git a/src/test/compile-fail/hygienic-label-3.rs b/src/test/compile-fail/hygienic-label-3.rs
index 4ff3bec3c64..e58cd09a84c 100644
--- a/src/test/compile-fail/hygienic-label-3.rs
+++ b/src/test/compile-fail/hygienic-label-3.rs
@@ -13,7 +13,7 @@ macro_rules! foo {
 }
 
 pub fn main() {
-    'x: for _ in range(0,1) {
+    'x: for _ in 0..1 {
         foo!() //~ ERROR use of undeclared label `'x`
     };
 }
diff --git a/src/test/compile-fail/hygienic-label-4.rs b/src/test/compile-fail/hygienic-label-4.rs
index 174e8a2834f..5bfcb6360e4 100644
--- a/src/test/compile-fail/hygienic-label-4.rs
+++ b/src/test/compile-fail/hygienic-label-4.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 macro_rules! foo {
-    ($e: expr) => { 'x: for _ in range(0,1) { $e } }
+    ($e: expr) => { 'x: for _ in 0..1 { $e } }
 }
 
 pub fn main() {
diff --git a/src/test/compile-fail/issue-15167.rs b/src/test/compile-fail/issue-15167.rs
index 630c35d6a4f..c98c543462e 100644
--- a/src/test/compile-fail/issue-15167.rs
+++ b/src/test/compile-fail/issue-15167.rs
@@ -18,7 +18,7 @@
 macro_rules! f { () => (n) }
 
 fn main() -> (){
-    for n in range(0is, 1) {
+    for n in 0is..1 {
         println!("{}", f!()); //~ ERROR unresolved name `n`
     }
 }
diff --git a/src/test/compile-fail/issue-17999.rs b/src/test/compile-fail/issue-17999.rs
index a8804a6df06..f336fdbfbed 100644
--- a/src/test/compile-fail/issue-17999.rs
+++ b/src/test/compile-fail/issue-17999.rs
@@ -12,7 +12,7 @@
 #![feature(core)]
 
 fn main() {
-    for _ in range(1is, 101) {
+    for _ in 1is..101 {
         let x = (); //~ ERROR: unused variable: `x`
         match () {
             a => {} //~ ERROR: unused variable: `a`
diff --git a/src/test/compile-fail/liveness-unused.rs b/src/test/compile-fail/liveness-unused.rs
index 4a3f7e9cad9..ebcf46f7277 100644
--- a/src/test/compile-fail/liveness-unused.rs
+++ b/src/test/compile-fail/liveness-unused.rs
@@ -85,7 +85,7 @@ fn f4b() -> isize {
 }
 
 fn f5a() {
-    for x in range(1is, 10) { }
+    for x in 1is..10 { }
     //~^ ERROR unused variable: `x`
 }
 
diff --git a/src/test/debuginfo/destructured-for-loop-variable.rs b/src/test/debuginfo/destructured-for-loop-variable.rs
index 103bdc03550..38f8f859d39 100644
--- a/src/test/debuginfo/destructured-for-loop-variable.rs
+++ b/src/test/debuginfo/destructured-for-loop-variable.rs
@@ -202,7 +202,7 @@ fn main() {
         zzz(); // #break
     }
 
-    for i in range(1234, 1235i) {
+    for i in 1234..1235i {
         zzz(); // #break
     }
 
diff --git a/src/test/debuginfo/limited-debuginfo.rs b/src/test/debuginfo/limited-debuginfo.rs
index 76a0fd58395..e1aec83714d 100644
--- a/src/test/debuginfo/limited-debuginfo.rs
+++ b/src/test/debuginfo/limited-debuginfo.rs
@@ -49,7 +49,7 @@ fn some_function(a: int, b: int) {
     let some_variable = Struct { a: 11, b: 22 };
     let some_other_variable = 23i;
 
-    for x in range(0, 1) {
+    for x in 0..1 {
         zzz(); // #break
     }
 }
diff --git a/src/test/debuginfo/unreachable-locals.rs b/src/test/debuginfo/unreachable-locals.rs
index c15dcd1958f..70f8b1ccd96 100644
--- a/src/test/debuginfo/unreachable-locals.rs
+++ b/src/test/debuginfo/unreachable-locals.rs
@@ -62,7 +62,7 @@ fn after_break() {
 }
 
 fn after_continue() {
-    for _ in range(0, 10i32) {
+    for _ in 0..10i32 {
         break;
         let x = "0";
         let (ref y,z) = (1i32, 2u32);
diff --git a/src/test/run-fail/extern-panic.rs b/src/test/run-fail/extern-panic.rs
index e7c6dcc2df7..f45c36023d2 100644
--- a/src/test/run-fail/extern-panic.rs
+++ b/src/test/run-fail/extern-panic.rs
@@ -41,7 +41,7 @@ fn count(n: uint) -> uint {
 }
 
 fn main() {
-    for _ in range(0, 10u) {
+    for _ in 0..10u {
         task::spawn(move|| {
             let result = count(5u);
             println!("result = %?", result);
diff --git a/src/test/run-fail/for-each-loop-panic.rs b/src/test/run-fail/for-each-loop-panic.rs
index 472c8ae15b9..6cad55e6358 100644
--- a/src/test/run-fail/for-each-loop-panic.rs
+++ b/src/test/run-fail/for-each-loop-panic.rs
@@ -10,4 +10,4 @@
 
 // error-pattern:moop
 
-fn main() { for _ in range(0u, 10u) { panic!("moop"); } }
+fn main() { for _ in 0u..10u { panic!("moop"); } }
diff --git a/src/test/run-make/unicode-input/multiple_files.rs b/src/test/run-make/unicode-input/multiple_files.rs
index e57f026889f..f9ffdffb464 100644
--- a/src/test/run-make/unicode-input/multiple_files.rs
+++ b/src/test/run-make/unicode-input/multiple_files.rs
@@ -43,11 +43,11 @@ fn main() {
             .write_str("mod unicode_input_multiple_files_chars;");
     }
 
-    for _ in range(0u, 100) {
+    for _ in 0u..100 {
         {
             let randoms = tmpdir.join("unicode_input_multiple_files_chars.rs");
             let mut w = File::create(&randoms).unwrap();
-            for _ in range(0u, 30) {
+            for _ in 0u..30 {
                 let _ = w.write_char(random_char());
             }
         }
diff --git a/src/test/run-make/unicode-input/span_length.rs b/src/test/run-make/unicode-input/span_length.rs
index 0ad43ea0171..01e2c1f2973 100644
--- a/src/test/run-make/unicode-input/span_length.rs
+++ b/src/test/run-make/unicode-input/span_length.rs
@@ -38,7 +38,7 @@ fn main() {
     let tmpdir = Path::new(args[2].as_slice());
     let main_file = tmpdir.join("span_main.rs");
 
-    for _ in range(0u, 100) {
+    for _ in 0u..100 {
         let n = thread_rng().gen_range(3u, 20);
 
         {
diff --git a/src/test/run-pass/backtrace.rs b/src/test/run-pass/backtrace.rs
index 92d4db573ad..af1cc3b1f4d 100644
--- a/src/test/run-pass/backtrace.rs
+++ b/src/test/run-pass/backtrace.rs
@@ -77,7 +77,7 @@ fn runtest(me: &str) {
     assert!(!out.status.success());
     let s = str::from_utf8(out.error.as_slice()).unwrap();
     let mut i = 0;
-    for _ in range(0i, 2) {
+    for _ in 0i..2 {
         i += s[i + 10..].find_str("stack backtrace").unwrap() + 10;
     }
     assert!(s[i + 10..].find_str("stack backtrace").is_none(),
diff --git a/src/test/run-pass/bitv-perf-test.rs b/src/test/run-pass/bitv-perf-test.rs
index 325f6dec76f..167d0ace159 100644
--- a/src/test/run-pass/bitv-perf-test.rs
+++ b/src/test/run-pass/bitv-perf-test.rs
@@ -22,5 +22,5 @@ fn bitv_test() {
 }
 
 pub fn main() {
-    for _ in range(0i, 10000) { bitv_test(); }
+    for _ in 0i..10000 { bitv_test(); }
 }
diff --git a/src/test/run-pass/class-cast-to-trait-multiple-types.rs b/src/test/run-pass/class-cast-to-trait-multiple-types.rs
index ecbbb3199b9..8aca51cab54 100644
--- a/src/test/run-pass/class-cast-to-trait-multiple-types.rs
+++ b/src/test/run-pass/class-cast-to-trait-multiple-types.rs
@@ -88,7 +88,7 @@ fn cat(in_x: uint, in_y: int, in_name: String) -> cat {
 
 
 fn annoy_neighbors(critter: &mut noisy) {
-    for _i in range(0u, 10) { critter.speak(); }
+    for _i in 0u..10 { critter.speak(); }
 }
 
 pub fn main() {
diff --git a/src/test/run-pass/class-impl-very-parameterized-trait.rs b/src/test/run-pass/class-impl-very-parameterized-trait.rs
index 993f27d061d..7e7c1638e73 100644
--- a/src/test/run-pass/class-impl-very-parameterized-trait.rs
+++ b/src/test/run-pass/class-impl-very-parameterized-trait.rs
@@ -103,11 +103,11 @@ impl<T> cat<T> {
 
 pub fn main() {
     let mut nyan: cat<String> = cat::new(0, 2, "nyan".to_string());
-    for _ in range(1u, 5) { nyan.speak(); }
+    for _ in 1u..5 { nyan.speak(); }
     assert!(*nyan.find(&1).unwrap() == "nyan".to_string());
     assert_eq!(nyan.find(&10), None);
     let mut spotty: cat<cat_type> = cat::new(2, 57, cat_type::tuxedo);
-    for _ in range(0u, 6) { spotty.speak(); }
+    for _ in 0u..6 { spotty.speak(); }
     assert_eq!(spotty.len(), 8);
     assert!((spotty.contains_key(&2)));
     assert_eq!(spotty.get(&3), &cat_type::tuxedo);
diff --git a/src/test/run-pass/class-implement-trait-cross-crate.rs b/src/test/run-pass/class-implement-trait-cross-crate.rs
index 8c36174d5f1..b2804a41789 100644
--- a/src/test/run-pass/class-implement-trait-cross-crate.rs
+++ b/src/test/run-pass/class-implement-trait-cross-crate.rs
@@ -60,6 +60,6 @@ pub fn main() {
   let mut nyan = cat(0u, 2, "nyan".to_string());
   nyan.eat();
   assert!((!nyan.eat()));
-  for _ in range(1u, 10u) { nyan.speak(); };
+  for _ in 1u..10u { nyan.speak(); };
   assert!((nyan.eat()));
 }
diff --git a/src/test/run-pass/class-implement-traits.rs b/src/test/run-pass/class-implement-traits.rs
index cf08cd2709d..172df8c2afd 100644
--- a/src/test/run-pass/class-implement-traits.rs
+++ b/src/test/run-pass/class-implement-traits.rs
@@ -65,7 +65,7 @@ pub fn main() {
     let mut nyan = cat(0u, 2, "nyan".to_string());
     nyan.eat();
     assert!((!nyan.eat()));
-    for _ in range(1u, 10u) {
+    for _ in 1u..10u {
         make_speak(nyan.clone());
     }
 }
diff --git a/src/test/run-pass/classes-cross-crate.rs b/src/test/run-pass/classes-cross-crate.rs
index 61ed0016d09..abf6968662c 100644
--- a/src/test/run-pass/classes-cross-crate.rs
+++ b/src/test/run-pass/classes-cross-crate.rs
@@ -16,6 +16,6 @@ pub fn main() {
     let mut nyan = cat(0u, 2, "nyan".to_string());
     nyan.eat();
     assert!((!nyan.eat()));
-    for _ in range(1u, 10u) { nyan.speak(); };
+    for _ in 1u..10u { nyan.speak(); };
     assert!((nyan.eat()));
 }
diff --git a/src/test/run-pass/classes.rs b/src/test/run-pass/classes.rs
index 5d1296cf46e..413e59633cd 100644
--- a/src/test/run-pass/classes.rs
+++ b/src/test/run-pass/classes.rs
@@ -52,6 +52,6 @@ pub fn main() {
   let mut nyan = cat(0u, 2, "nyan".to_string());
   nyan.eat();
   assert!((!nyan.eat()));
-  for _ in range(1u, 10u) { nyan.speak(); };
+  for _ in 1u..10u { nyan.speak(); };
   assert!((nyan.eat()));
 }
diff --git a/src/test/run-pass/deriving-encodable-decodable.rs b/src/test/run-pass/deriving-encodable-decodable.rs
index 01814e8eab7..8c93f1ec78d 100644
--- a/src/test/run-pass/deriving-encodable-decodable.rs
+++ b/src/test/run-pass/deriving-encodable-decodable.rs
@@ -71,7 +71,7 @@ pub fn main() {
     roundtrip::<C>();
     roundtrip::<D>();
 
-    for _ in range(0, 20) {
+    for _ in 0..20 {
         roundtrip::<E>();
         roundtrip::<F>();
         roundtrip::<G<int>>();
diff --git a/src/test/run-pass/deriving-rand.rs b/src/test/run-pass/deriving-rand.rs
index f1396efedfe..36b6b3cbeea 100644
--- a/src/test/run-pass/deriving-rand.rs
+++ b/src/test/run-pass/deriving-rand.rs
@@ -31,7 +31,7 @@ enum D {
 
 pub fn main() {
     // check there's no segfaults
-    for _ in range(0i, 20) {
+    for _ in 0i..20 {
         rand::random::<A>();
         rand::random::<B>();
         rand::random::<C>();
diff --git a/src/test/run-pass/hygienic-labels-in-let.rs b/src/test/run-pass/hygienic-labels-in-let.rs
index 17c0299cf4d..d8c08a0e4ef 100644
--- a/src/test/run-pass/hygienic-labels-in-let.rs
+++ b/src/test/run-pass/hygienic-labels-in-let.rs
@@ -27,7 +27,7 @@ macro_rules! while_true {
 macro_rules! run_once {
     ($e: expr) => {
         // ditto
-        'x: for _ in range(0i, 1) { $e }
+        'x: for _ in 0i..1 { $e }
     }
 }
 
@@ -45,7 +45,7 @@ pub fn main() {
     assert_eq!(j, 1i);
 
     let k: int = {
-        'x: for _ in range(0i, 1) {
+        'x: for _ in 0i..1 {
             // ditto
             loop_x!(break 'x);
             i += 1;
@@ -55,7 +55,7 @@ pub fn main() {
     assert_eq!(k, 1i);
 
     let l: int = {
-        'x: for _ in range(0i, 1) {
+        'x: for _ in 0i..1 {
             // ditto
             while_true!(break 'x);
             i += 1;
@@ -65,7 +65,7 @@ pub fn main() {
     assert_eq!(l, 1i);
 
     let n: int = {
-        'x: for _ in range(0i, 1) {
+        'x: for _ in 0i..1 {
             // ditto
             run_once!(continue 'x);
             i += 1;
diff --git a/src/test/run-pass/hygienic-labels.rs b/src/test/run-pass/hygienic-labels.rs
index e899a1adb79..ff8f248a082 100644
--- a/src/test/run-pass/hygienic-labels.rs
+++ b/src/test/run-pass/hygienic-labels.rs
@@ -18,7 +18,7 @@ macro_rules! loop_x {
 macro_rules! run_once {
     ($e: expr) => {
         // ditto
-        'x: for _ in range(0i, 1) { $e }
+        'x: for _ in 0i..1 { $e }
     }
 }
 
@@ -30,7 +30,7 @@ macro_rules! while_x {
 }
 
 pub fn main() {
-    'x: for _ in range(0i, 1) {
+    'x: for _ in 0i..1 {
         // this 'x should refer to the outer loop, lexically
         loop_x!(break 'x);
         panic!("break doesn't act hygienically inside for loop");
@@ -47,7 +47,7 @@ pub fn main() {
         panic!("break doesn't act hygienically inside infinite while loop");
     }
 
-    'x: for _ in range(0i, 1) {
+    'x: for _ in 0i..1 {
         // ditto
         run_once!(continue 'x);
         panic!("continue doesn't act hygienically inside for loop");
diff --git a/src/test/run-pass/issue-10626.rs b/src/test/run-pass/issue-10626.rs
index 4b69e1595bd..880a8b4d2e0 100644
--- a/src/test/run-pass/issue-10626.rs
+++ b/src/test/run-pass/issue-10626.rs
@@ -19,10 +19,10 @@ pub fn main () {
     let args = os::args();
     let args = args.as_slice();
     if args.len() > 1 && args[1].as_slice() == "child" {
-        for _ in range(0i, 1000i) {
+        for _ in 0i..1000i {
             println!("hello?");
         }
-        for _ in range(0i, 1000i) {
+        for _ in 0i..1000i {
             println!("hello?");
         }
         return;
diff --git a/src/test/run-pass/issue-11736.rs b/src/test/run-pass/issue-11736.rs
index bc4ceb38de3..e75d118f36d 100644
--- a/src/test/run-pass/issue-11736.rs
+++ b/src/test/run-pass/issue-11736.rs
@@ -18,7 +18,7 @@ fn main() {
     let n = 1000000u;
     let mut sieve = Bitv::from_elem(n+1, true);
     let limit: uint = (n as f32).sqrt() as uint;
-    for i in range(2, limit+1) {
+    for i in 2..limit+1 {
         if sieve[i] {
             let mut j = 0;
             while i*i + j*i <= n {
@@ -27,7 +27,7 @@ fn main() {
             }
         }
     }
-    for i in range(2, n+1) {
+    for i in 2..n+1 {
         if sieve[i] {
         }
     }
diff --git a/src/test/run-pass/issue-13494.rs b/src/test/run-pass/issue-13494.rs
index bef0ff5fc2c..c10fd7328a1 100644
--- a/src/test/run-pass/issue-13494.rs
+++ b/src/test/run-pass/issue-13494.rs
@@ -24,7 +24,7 @@ fn main() {
     let (tx, rx) = channel();
     let _t = Thread::spawn(move|| { helper(rx) });
     let (snd, rcv) = channel::<int>();
-    for _ in range(1i, 100000i) {
+    for _ in 1i..100000i {
         snd.send(1i).unwrap();
         let (tx2, rx2) = channel();
         tx.send(tx2).unwrap();
diff --git a/src/test/run-pass/issue-2989.rs b/src/test/run-pass/issue-2989.rs
index fecef2f87d8..cdb7a3ea5d1 100644
--- a/src/test/run-pass/issue-2989.rs
+++ b/src/test/run-pass/issue-2989.rs
@@ -35,7 +35,7 @@ pub fn main() {
     let bools = vec!(false, false, true, false, false, true, true, false);
     let bools2 = to_bools(Storage{storage: vec!(0b01100100)});
 
-    for i in range(0u, 8) {
+    for i in 0u..8 {
         println!("{} => {} vs {}", i, bools[i], bools2[i]);
     }
 
diff --git a/src/test/run-pass/issue-3211.rs b/src/test/run-pass/issue-3211.rs
index c52c23b5d75..c908c073d4f 100644
--- a/src/test/run-pass/issue-3211.rs
+++ b/src/test/run-pass/issue-3211.rs
@@ -10,7 +10,7 @@
 
 pub fn main() {
     let mut x = 0i;
-    for _ in range(0i, 4096) { x += 1; }
+    for _ in 0i..4096 { x += 1; }
     assert_eq!(x, 4096);
     println!("x = {}", x);
 }
diff --git a/src/test/run-pass/issue-3563-3.rs b/src/test/run-pass/issue-3563-3.rs
index 004bcf6dcd0..426a8ccf7e7 100644
--- a/src/test/run-pass/issue-3563-3.rs
+++ b/src/test/run-pass/issue-3563-3.rs
@@ -69,7 +69,7 @@ fn AsciiArt(width: uint, height: uint, fill: char) -> AsciiArt {
     // Use an anonymous function to build a vector of vectors containing
     // blank characters for each position in our canvas.
     let mut lines = Vec::new();
-    for _ in range(0, height) {
+    for _ in 0..height {
         lines.push(repeat('.').take(width).collect::<Vec<_>>());
     }
 
@@ -136,13 +136,13 @@ impl Canvas for AsciiArt {
 
     fn add_rect(&mut self, shape: Rect) {
         // Add the top and bottom lines.
-        for x in range(shape.top_left.x, shape.top_left.x + shape.size.width) {
+        for x in shape.top_left.x..shape.top_left.x + shape.size.width {
             self.add_pt(x, shape.top_left.y);
             self.add_pt(x, shape.top_left.y + shape.size.height - 1);
         }
 
         // Add the left and right lines.
-        for y in range(shape.top_left.y, shape.top_left.y + shape.size.height) {
+        for y in shape.top_left.y..shape.top_left.y + shape.size.height {
             self.add_pt(shape.top_left.x, y);
             self.add_pt(shape.top_left.x + shape.size.width - 1, y);
         }
diff --git a/src/test/run-pass/issue-4241.rs b/src/test/run-pass/issue-4241.rs
index 3130c0441a5..19622cb88e3 100644
--- a/src/test/run-pass/issue-4241.rs
+++ b/src/test/run-pass/issue-4241.rs
@@ -44,7 +44,7 @@ priv fn parse_data(len: uint, io: @io::Reader) -> Result {
 
 priv fn parse_list(len: uint, io: @io::Reader) -> Result {
     let mut list: ~[Result] = ~[];
-    for _ in range(0, len) {
+    for _ in 0..len {
         let v = match io.read_char() {
             '$' => parse_bulk(io),
             ':' => parse_int(io),
diff --git a/src/test/run-pass/issue-4401.rs b/src/test/run-pass/issue-4401.rs
index c251fafc24b..a03253b8efb 100644
--- a/src/test/run-pass/issue-4401.rs
+++ b/src/test/run-pass/issue-4401.rs
@@ -10,7 +10,7 @@
 
 pub fn main() {
     let mut count = 0i;
-    for _ in range(0i, 999_999) { count += 1; }
+    for _ in 0i..999_999 { count += 1; }
     assert_eq!(count, 999_999);
     println!("{}", count);
 }
diff --git a/src/test/run-pass/issue-5321-immediates-with-bare-self.rs b/src/test/run-pass/issue-5321-immediates-with-bare-self.rs
index 511b8a96830..2ab41f77838 100644
--- a/src/test/run-pass/issue-5321-immediates-with-bare-self.rs
+++ b/src/test/run-pass/issue-5321-immediates-with-bare-self.rs
@@ -16,7 +16,7 @@ trait Fooable {
 
 impl Fooable for uint {
     fn yes(self) {
-        for _ in range(0, self) { println!("yes"); }
+        for _ in 0..self { println!("yes"); }
     }
 }
 
diff --git a/src/test/run-pass/issue-8827.rs b/src/test/run-pass/issue-8827.rs
index d8b7490124f..80beeb7275c 100644
--- a/src/test/run-pass/issue-8827.rs
+++ b/src/test/run-pass/issue-8827.rs
@@ -15,7 +15,7 @@ fn periodical(n: int) -> Receiver<bool> {
     let (chan, port) = channel();
     Thread::spawn(move|| {
         loop {
-            for _ in range(1, n) {
+            for _ in 1..n {
                 match chan.send(false) {
                     Ok(()) => {}
                     Err(..) => break,
@@ -49,7 +49,7 @@ fn main() {
     let ints = integers();
     let threes = periodical(3);
     let fives = periodical(5);
-    for _ in range(1i, 100i) {
+    for _ in 1i..100i {
         match (ints.recv().unwrap(), threes.recv().unwrap(), fives.recv().unwrap()) {
             (_, true, true) => println!("FizzBuzz"),
             (_, true, false) => println!("Fizz"),
diff --git a/src/test/run-pass/labeled-break.rs b/src/test/run-pass/labeled-break.rs
index 9f12cd79876..ebfe1e353d8 100644
--- a/src/test/run-pass/labeled-break.rs
+++ b/src/test/run-pass/labeled-break.rs
@@ -15,7 +15,7 @@ pub fn main() {
         }
     }
 
-    'bar: for _ in range(0i, 100i) {
+    'bar: for _ in 0i..100i {
         loop {
             break 'bar;
         }
diff --git a/src/test/run-pass/move-3-unique.rs b/src/test/run-pass/move-3-unique.rs
index a10e3f9f5b0..42959f82972 100644
--- a/src/test/run-pass/move-3-unique.rs
+++ b/src/test/run-pass/move-3-unique.rs
@@ -27,7 +27,7 @@ fn test(x: bool, foo: Box<Triple>) -> int {
 
 pub fn main() {
     let x = box Triple{x: 1, y: 2, z: 3};
-    for _ in range(0u, 10000u) {
+    for _ in 0u..10000u {
         assert_eq!(test(true, x.clone()), 2);
     }
     assert_eq!(test(false, x), 5);
diff --git a/src/test/run-pass/packed-struct-vec.rs b/src/test/run-pass/packed-struct-vec.rs
index c2e7a56d270..14607c9e24a 100644
--- a/src/test/run-pass/packed-struct-vec.rs
+++ b/src/test/run-pass/packed-struct-vec.rs
@@ -24,7 +24,7 @@ pub fn main() {
 
     assert_eq!(mem::size_of::<[Foo; 10]>(), 90);
 
-    for i in range(0u, 10) {
+    for i in 0u..10 {
         assert_eq!(foos[i], Foo { bar: 1, baz: 2});
     }
 
diff --git a/src/test/run-pass/pattern-bound-var-in-for-each.rs b/src/test/run-pass/pattern-bound-var-in-for-each.rs
index fde1999e72d..28a1a8dba9e 100644
--- a/src/test/run-pass/pattern-bound-var-in-for-each.rs
+++ b/src/test/run-pass/pattern-bound-var-in-for-each.rs
@@ -16,7 +16,7 @@ fn foo(src: uint) {
 
     match Some(src) {
       Some(src_id) => {
-        for _i in range(0u, 10u) {
+        for _i in 0u..10u {
             let yyy = src_id;
             assert_eq!(yyy, 0u);
         }
diff --git a/src/test/run-pass/private-method.rs b/src/test/run-pass/private-method.rs
index b64ca955cde..03566281bc4 100644
--- a/src/test/run-pass/private-method.rs
+++ b/src/test/run-pass/private-method.rs
@@ -22,7 +22,7 @@ impl cat {
 }
 
 impl cat {
-    fn nap(&mut self) { for _ in range(1u, 10u) { } }
+    fn nap(&mut self) { for _ in 1u..10u { } }
 }
 
 fn cat(in_x : uint, in_y : int) -> cat {
diff --git a/src/test/run-pass/realloc-16687.rs b/src/test/run-pass/realloc-16687.rs
index 09507afb9ce..c932116243b 100644
--- a/src/test/run-pass/realloc-16687.rs
+++ b/src/test/run-pass/realloc-16687.rs
@@ -35,9 +35,9 @@ unsafe fn test_triangle() -> bool {
     // from pairs of rows (where each pair of rows is equally sized),
     // and the elements of the triangle match their row-pair index.
     unsafe fn sanity_check(ascend: &[*mut u8]) {
-        for i in range(0u, COUNT / 2) {
+        for i in 0u..COUNT / 2 {
             let (p0, p1, size) = (ascend[2*i], ascend[2*i+1], idx_to_size(i));
-            for j in range(0u, size) {
+            for j in 0u..size {
                 assert_eq!(*p0.offset(j as int), i as u8);
                 assert_eq!(*p1.offset(j as int), i as u8);
             }
@@ -88,16 +88,16 @@ unsafe fn test_triangle() -> bool {
     // that at least two rows will be allocated near each other, so
     // that we trigger the bug (a buffer overrun) in an observable
     // way.)
-    for i in range(0u, COUNT / 2) {
+    for i in 0u..COUNT / 2 {
         let size = idx_to_size(i);
         ascend[2*i]   = allocate(size, ALIGN);
         ascend[2*i+1] = allocate(size, ALIGN);
     }
 
     // Initialize each pair of rows to distinct value.
-    for i in range(0u, COUNT / 2) {
+    for i in 0u..COUNT / 2 {
         let (p0, p1, size) = (ascend[2*i], ascend[2*i+1], idx_to_size(i));
-        for j in range(0, size) {
+        for j in 0..size {
             *p0.offset(j as int) = i as u8;
             *p1.offset(j as int) = i as u8;
         }
@@ -109,7 +109,7 @@ unsafe fn test_triangle() -> bool {
     test_3(ascend); // triangle -> square
     test_4(ascend); // square -> triangle
 
-    for i in range(0u, COUNT / 2) {
+    for i in 0u..COUNT / 2 {
         let size = idx_to_size(i);
         deallocate(ascend[2*i], size, ALIGN);
         deallocate(ascend[2*i+1], size, ALIGN);
@@ -123,7 +123,7 @@ unsafe fn test_triangle() -> bool {
     // rows as we go.
     unsafe fn test_1(ascend: &mut [*mut u8]) {
         let new_size = idx_to_size(COUNT-1);
-        for i in range(0u, COUNT / 2) {
+        for i in 0u..COUNT / 2 {
             let (p0, p1, old_size) = (ascend[2*i], ascend[2*i+1], idx_to_size(i));
             assert!(old_size < new_size);
 
@@ -138,7 +138,7 @@ unsafe fn test_triangle() -> bool {
     // Test 2: turn the square back into a triangle, top to bottom.
     unsafe fn test_2(ascend: &mut [*mut u8]) {
         let old_size = idx_to_size(COUNT-1);
-        for i in range(0u, COUNT / 2) {
+        for i in 0u..COUNT / 2 {
             let (p0, p1, new_size) = (ascend[2*i], ascend[2*i+1], idx_to_size(i));
             assert!(new_size < old_size);
 
diff --git a/src/test/run-pass/regions-infer-borrow-scope-addr-of.rs b/src/test/run-pass/regions-infer-borrow-scope-addr-of.rs
index 319e01172bb..dcf694899c1 100644
--- a/src/test/run-pass/regions-infer-borrow-scope-addr-of.rs
+++ b/src/test/run-pass/regions-infer-borrow-scope-addr-of.rs
@@ -13,7 +13,7 @@ use std::mem::swap;
 pub fn main() {
     let mut x = 4;
 
-    for i in range(0u, 3) {
+    for i in 0u..3 {
         // ensure that the borrow in this alt
         // does not interfere with the swap
         // below.  note that it would it you
diff --git a/src/test/run-pass/stat.rs b/src/test/run-pass/stat.rs
index bf22fc3bd72..c22b476e59c 100644
--- a/src/test/run-pass/stat.rs
+++ b/src/test/run-pass/stat.rs
@@ -20,7 +20,7 @@ pub fn main() {
             Err(..) => unreachable!(),
             Ok(f) => {
                 let mut f = f;
-                for _ in range(0u, 1000) {
+                for _ in 0u..1000 {
                     f.write(&[0]);
                 }
             }
diff --git a/src/test/run-pass/tcp-accept-stress.rs b/src/test/run-pass/tcp-accept-stress.rs
index 07e61733a56..b87718ba468 100644
--- a/src/test/run-pass/tcp-accept-stress.rs
+++ b/src/test/run-pass/tcp-accept-stress.rs
@@ -58,7 +58,7 @@ fn test() {
     let _t = (0..N).map(|_| {
         let cli_tx = cli_tx.clone();
         Thread::scoped(move|| {
-            for _ in range(0, M) {
+            for _ in 0..M {
                 let _s = TcpStream::connect(addr).unwrap();
             }
             cli_tx.send(());
diff --git a/src/test/run-pass/tcp-connect-timeouts.rs b/src/test/run-pass/tcp-connect-timeouts.rs
index 23c5501b4a4..69ae2521f9a 100644
--- a/src/test/run-pass/tcp-connect-timeouts.rs
+++ b/src/test/run-pass/tcp-connect-timeouts.rs
@@ -41,7 +41,7 @@ fn eventual_timeout() {
     rx1.recv().unwrap();
 
     let mut v = Vec::new();
-    for _ in range(0u, 10000) {
+    for _ in 0u..10000 {
         match TcpStream::connect_timeout(addr, Duration::milliseconds(100)) {
             Ok(e) => v.push(e),
             Err(ref e) if e.kind == old_io::TimedOut => return,
diff --git a/src/test/run-pass/tcp-stress.rs b/src/test/run-pass/tcp-stress.rs
index e23d1a62225..f5f013d1711 100644
--- a/src/test/run-pass/tcp-stress.rs
+++ b/src/test/run-pass/tcp-stress.rs
@@ -51,7 +51,7 @@ fn main() {
     let addr = rx.recv().unwrap();
 
     let (tx, rx) = channel();
-    for _ in range(0u, 1000) {
+    for _ in 0u..1000 {
         let tx = tx.clone();
         Builder::new().stack_size(64 * 1024).spawn(move|| {
             match TcpStream::connect(addr) {
@@ -70,7 +70,7 @@ fn main() {
     // Wait for all clients to exit, but don't wait for the server to exit. The
     // server just runs infinitely.
     drop(tx);
-    for _ in range(0u, 1000) {
+    for _ in 0u..1000 {
         rx.recv().unwrap();
     }
     unsafe { libc::exit(0) }
diff --git a/src/test/run-pass/unique-send-2.rs b/src/test/run-pass/unique-send-2.rs
index 8b9c65c7ca8..f0b634c0d44 100644
--- a/src/test/run-pass/unique-send-2.rs
+++ b/src/test/run-pass/unique-send-2.rs
@@ -31,7 +31,7 @@ pub fn main() {
     }).collect::<Vec<_>>();
 
     let mut actual = 0u;
-    for _ in range(0u, n) {
+    for _ in 0u..n {
         let j = rx.recv().unwrap();
         actual += *j;
     }
diff --git a/src/test/run-pass/vector-sort-panic-safe.rs b/src/test/run-pass/vector-sort-panic-safe.rs
index 9e74c6da548..250bafc712d 100644
--- a/src/test/run-pass/vector-sort-panic-safe.rs
+++ b/src/test/run-pass/vector-sort-panic-safe.rs
@@ -55,8 +55,8 @@ impl Drop for DropCounter {
 pub fn main() {
     assert!(MAX_LEN <= std::uint::BITS);
     // len can't go above 64.
-    for len in range(2, MAX_LEN) {
-        for _ in range(0, REPEATS) {
+    for len in 2..MAX_LEN {
+        for _ in 0..REPEATS {
             // reset the count for these new DropCounters, so their
             // IDs start from 0.
             creation_count.store(0, Ordering::Relaxed);
@@ -71,7 +71,7 @@ pub fn main() {
             main.clone().as_mut_slice().sort_by(|a, b| { count += 1; a.cmp(b) });
 
             // ... and then panic on each and every single one.
-            for panic_countdown in range(0i, count) {
+            for panic_countdown in 0i..count {
                 // refresh the counters.
                 for c in drop_counts.iter() {
                     c.store(0, Ordering::Relaxed);