]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc/middle/trans/type_use.rs
rustc: Fix for-range loops that can use iterators
[rust.git] / src / librustc / middle / trans / type_use.rs
index ad83286c8c1d75a60353ab2a36c2f248f0665f26..f25bf011f5d062f56c2130bb570bc725dc40e3d8 100644 (file)
@@ -206,15 +206,8 @@ fn store_type_uses(cx: Context, fn_id: def_id) -> @~[type_uses] {
 
 pub fn type_needs(cx: &Context, use_: uint, ty: ty::t) {
     // Optimization -- don't descend type if all params already have this use
-    let len = {
-        let uses = &*cx.uses;
-        uses.len()
-    };
-    for i in range(0u, len) {
-        if cx.uses[i] & use_ != use_ {
-            type_needs_inner(cx, use_, ty, @Nil);
-            return;
-        }
+    if cx.uses.iter().any(|&elt| elt & use_ != use_) {
+        type_needs_inner(cx, use_, ty, @Nil);
     }
 }