Bir vektör üzerinde bir yineleyiciyi bir işleve geçiren bir çözümleyici yazmaya çalışıyorum. Kod bu benzer:Bir işleve iletilen yineleyicinin türünü nasıl yazarım?
fn foo(itr : ???) {
while let Some(c) = itr.next() {
if *c != 0 {
break;
}
println!("{}", *c);
}
}
fn main() {
let v = vec![0; 10];
let itr = v.iter();
while let Some(c) = itr.next() {
foo(itr);
}
}
Ben vektör üzerinde Yineleyici tipini nasıl yazılacağını emin değilim. u32
yanlış türünü rustc
beklenen: core::slice::Iter<'_, _>
beklemeye çalıştım. Ben core::slice
rustc Use of undeclared type or module 'core::slice'
Müthiş! Yinelemeli bir yoklayıcı ayrıştırıcıda olduğu gibi karşılıklı özyinelemeli işlevleriniz varsa, FYI, jenerik kullanırsanız, pasaç derlenmez, ancak bir özellik nesnesi kullanırsanız, çalışır. –