172 похожих чатов

Привет всем! Не подскажете почему вот это: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=2975069c324b19531980f2129ed7adc7 Не компилится с мисматчем типов?

Что я делаю не так при попытке склеить коллекции в таком контексте?

22 ответов

6 просмотров

Амперсанд воткни

.iter возвращает итератор по &T

Egor-Gusarenko Автор вопроса
Max Силинг
Амперсанд воткни

Тогда ловлю вот это | 36 | quotes_mapped.extend(&iter); | ^^^^^ &std::slice::Iter<'_, Answer<'_>> is not an iterator | Не совсем понял про то куда амперсанд нужно воткнуть

Egor-Gusarenko Автор вопроса
Пух
.iter возвращает итератор по &T

Т.е. extend должен клеить коллекции ссылок, а не коллекции самих переменных?

вот компилирующийся вариант: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=8e8713088973d4bd321cc8379284457d но лучше бы конечно целиком переделать

Пух
замени .iter на .into_iter

Тогда интуитер там нужен разве? Экстенд же сам его вызывает?

Egor-Gusarenko Автор вопроса
Egor-Gusarenko Автор вопроса
Денис
вот компилирующийся вариант: https://play.rust-lan...

Ты волшебник! Большое спасибо Не думаю что там получится конкретно переделать, если я не ошибаюсь, там без клонирования не обойдешься

Денис
вот компилирующийся вариант: https://play.rust-lan...

Интересно... Как оно компилируется с map(|x| Answer::Quote(&x))? Там x - это уже ссылка

Egor Gusarenko
Ты волшебник! Большое спасибо Не думаю что там по...

ну, как минимум &String можно заменить на &str, плюс непонятно, как используется quotes_mapped

red75prime
Интересно... Как оно компилируется с map(|x| Answe...

магия коэрсинга =) а так да, можно просто на .map(Answer::Quote) заменить

Egor-Gusarenko Автор вопроса
Денис
ну, как минимум &String можно заменить на &str, пл...

Там &String потому, что я выпилил изначальный код сериализации, а quotes_mapped как раз должен быть коллекцией-объединением из которой получается рандомное значение Хотя возможно про стрингу надо дополнительно покопать, спасибо

red75prime
Интересно... Как оно компилируется с map(|x| Answe...

Внезапно, видимо, дереф коэршн свою роль сыграл как-то.

Egor-Gusarenko Автор вопроса
Egor Gusarenko
Круто, действительно, спасибо

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=2975069c324b19531980f2129ed7adc7 могу еще таокй вариант предложить с поменьше копирования

Traveller Kolsky
Внезапно, видимо, дереф коэршн свою роль сыграл ка...

Да. Deref coercion at function argument coercion site. Практически никогда не использовал для конверсии &&T -> &T так что удивился

red75prime
Да. Deref coercion at function argument coercion s...

Обычно клиппи за такое ругает, вот видимо и уходит до мержа кода

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

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

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
10
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
это группа токсиков или тех кто помогает?
Ибрагим
9
Всем здравствуйте!) У меня такой вопрос. Есть два роута, роут1 и роут2. Они связаны с очередью some_queue. По задаче предполагается, что есть два паблиша. Паблиш1 отправляет...
Format
10
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
8
мы пытаемся подменить функцию, которая имеет меньше инструкций относительно функции, которой подменяем. https://www.reddit.com/r/jailbreakdevelopers/comments/w06ujy/mshookfun...
Óðinn
6
У кого-нибудь есть под рукой функция кодирования юникода, которая из фразы На русском сделает \u041d\u0430\u0020\u0440\u0443\u0441\u0441\u043a\u043e\u043c ?
Daniil Smolyakov
7
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Карта сайта