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);
}
}