diff --git a/src/test/run-pass/assignability-trait.rs b/src/test/run-pass/assignability-trait.rs index f822da4cdcf..f623b7911ce 100644 --- a/src/test/run-pass/assignability-trait.rs +++ b/src/test/run-pass/assignability-trait.rs @@ -12,19 +12,20 @@ // making method calls, but only if there aren't any matches without // it. +#![feature(unboxed_closures)] trait iterable<A> { - fn iterate(&self, blk: |x: &A| -> bool) -> bool; + fn iterate<F>(&self, blk: F) -> bool where F: FnMut(&A) -> bool; } impl<'a,A> iterable<A> for &'a [A] { - fn iterate(&self, f: |x: &A| -> bool) -> bool { + fn iterate<F>(&self, f: F) -> bool where F: FnMut(&A) -> bool { self.iter().all(f) } } impl<A> iterable<A> for Vec<A> { - fn iterate(&self, f: |x: &A| -> bool) -> bool { + fn iterate<F>(&self, f: F) -> bool where F: FnMut(&A) -> bool { self.iter().all(f) } }