Как вернуть из функции итератор? Набросал такой код: pub type WordsStoragePlain =

Vec<&'static str>;

fn words_with_len(words: &WordsStoragePlain, len: usize) -> impl Iterator<Item = &'static str> {
words.iter().filter(|w| w.len() == len)
}

В ответ получаю ошибку:
error[E0271]: type mismatch resolving `<Filter<std::slice::Iter<'_, &str>, [closure@src\kata8_object
ives.rs:4:25: 4:28]> as Iterator>::Item == &'static str`
--> src\kata8_objectives.rs:3:61
|
3 | fn words_with_len(words: &WordsStoragePlain, len: usize) -> impl Iterator<Item = &'static str> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ e
xpected `&str`, found `str`
|
= note: expected reference `&&str`
found reference `&'static str`
Что делаю не так?

2 ответов

26 просмотров

Так? https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=d38578eb274fa81f606161ce603baa95

Василий- Автор вопроса
Alexey Sokolovskiy
Так? https://play.rust-lang.org/?version=stable&mo...

Спасибо, работает. Но меня смущает связка copyed() + move. Не будет ли это лишняя работа? И зачем она нужна, я же реально не собираюсь ничего изменять, мне чисто на чтение (т.е. просто &) надо.

Похожие вопросы

Обсуждают сегодня

а что делать если тебя убивают на картах?
Yarik yarik kyda ti lezesh
43
Всем привет, может уже кто-то пытался выдернуть из api информацию о дате рождения пользователя Есть ли вообще такая возможность?
Artem Stormageddon
2
Подскажите где можно прочитать про реализацию возможности писать человеку при подписке на телеграм канал от имени бота? Было бы не плохо если для Telegraf@3.38.0
Pan Lipton
10
Мне вот что интересно, кто на рфе стартовал/играл, что вы фармили, в каком виде контента он прямо хорош? Экспедиция? Вроде прямо на замазанных мапах рф сдувается
Владислав
20
Ребята, я за проф советом😅 По микросервисам. В монолите есть общие файлы для сервисов: фетчи, конфиги, либы, утилсы.. как при распиле правильно их поддерживать? Пока вариант д...
Александр Тарасюк
1
‌/r/pathofexile moderation changes top scoring links : pathofexile (RSS) Hi, everyone. On behalf of the subreddit mod team, I’m here to give you a few updates on the subreddi...
Esionru
3
У меня вопрос к знающими, стоит ли вступать в гильдии в игре или лучше полная свобода?
Енот Полоскун
17
У вас бывает ощущение, что хочется потратить весь отпуск на то, чтоб только спать?
Николай
15
всем привет. я правильно понимаю, что в телеграфе 4, если сессию указать у сообщения с коллбеком (кликнул на кнопку и установил сессию), то она не сохраняется?
Тимур
1
Как можно настроить фильтр в пое под себя?
Yarik yarik kyda ti lezesh
15
Карта сайта