История изменений
Исправление red75prim, (текущая версия) :
Ну я могу написать for p in primes.into_iter() и всё работает, то бишь он как-то автоматом переписывает это в for p in (&mut primes).into_iter(), но без into_iter() не хочет переписывать, это выглядит странно.
По соглашению функции начинающиеся с `into_` поглощают свой аргумент. Так что различающееся поведение для `for p in primes` и `for p in primes.into_iter()` действительно выглядит странно и неожиданно.
Поэтому, если требуется только заимствовать аргумент, делают метод `iter()`: https://play.rust-lang.org/?gist=5c71edee34d34948b3ac413ae7439781&version...
Исходная версия red75prim, :
Ну я могу написать for p in primes.into_iter() и всё работает, то бишь он как-то автоматом переписывает это в for p in (&mut primes).into_iter(), но без into_iter() не хочет переписывать, это выглядит странно.
По соглашению функции начинающиеся с `into_` поглощают свой аргумент. Так что различающееся поведение для `for p in primes` и `for p in primes.into_iter()` - действительно выглядит странно и неожиданно.
Поэтому, если требуется только заимствовать аргумент, делают метод `iter()`: https://play.rust-lang.org/?gist=5c71edee34d34948b3ac413ae7439781&version...