Avatar ·

Comment implémenter les traits Iterator et IntoIterator pour une structure simple en Rust ?

Bonjour à tous ! J'ai commencé à apprendre Rust et j'ai rencontré un problème lors de l'implémentation de mes propres itérateurs. J'ai une structure simple `BookCollection` qui stocke une liste de livres. Je veux que cette structure puisse être utilisée dans une boucle `for`, ainsi que transmise à des fonctions qui attendent des itérateurs. Mais le compilateur génère des erreurs. Voici mon code : ```rust struct Book { title: String, author: String, } struct BookCollection { books: Vec, } impl BookCollection { fn new() -> Self { BookCollection { books: Vec::new() } } fn add_book(&mut self, book: Book) { self.books.push(book); } } fn main() { let mut collection = BookCollection::new(); collection.add_book(Book { title: "1984".to_string(), author: "Orwell".to_string() }); collection.add_book(Book { title: "Dune".to_string(), author: "Herbert".to_string() }); // Je veux faire ceci : for book in collection { println!("{} by {}", book.titl