Stavo implementando il tratto Iterator
per diverse strutture e ho riscontrato alcuni problemi. Perché l'implementazione di Iterator
per Rows
mostra un errore? Ecco un collegamento: link to playgroundProblema a vita durante l'implementazione di Iterator
Fondamentalmente perché questo non funziona?
struct Stripe<'a> {
cells: &'a [u32],
}
struct Rows<'a> {
foo: &'a Foo,
vec: Vec<u32>,
first: bool,
}
impl<'a> std::iter::Iterator for Rows<'a> {
type Item = Stripe<'a>;
fn next(&mut self) -> Option<Stripe<'a>> {
if self.first {
self.first = false;
Some(
Stripe {
cells: &self.vec[0..1],
}
)
} else {
None
}
}
}
Ok, grazie, cercherò – Spiderpig
E assicurati che il tuo codice sia un [MCVE] (/ help/mcve). Dovresti essere in grado di rimuovere tutta la peluria che non è * direttamente * rilevante per la tua domanda. – Shepmaster
Quindi ho riutilizzato il mio codice, è abbastanza leggibile? – Spiderpig