2015-11-04 7 views

答えて

6

イテレータを進めているので、selfを突然変異させることができる必要があります。あなたがnextを呼び出すたびに、イテレータが変異している:

fn find<P>(&mut self, mut predicate: P) -> Option<Self::Item> where 
    Self: Sized, 
    P: FnMut(&Self::Item) -> bool, 
{ 
    for x in self.by_ref() { 
     if predicate(&x) { return Some(x) } 
    } 
    None 
} 
+0

ありがとう:ここ

fn next(&mut self) -> Option<Self::Item>; 

the implementation of findです。とても明らか! –

関連する問題