так, чтобы для него работало iter().sum()?
Я пробовал сделать по подсказкам из Rust, затем гуглить. Примеры есть, но специфические и я не могу приспособить их под свой.
Вроде как надо реализовать трейт для итератора, но почему для него? Итератор стандартный. Я бы и реализовал, но не могу понять что там с чем складывать. И как будто этих трейтов два, для iter и Iterator...
Чтобы для Iterator<Item =Money> работал .sum?
Реализовать трейт std::iter::Sum
У него сигнатура fn sum<I>(iter: I) -> Self Я вижу итератор, из которого я получаю элементы, а где накопитель?
Это тот тип, для которого ты этот трейт реализуешь
В смысле я сразу результат (сумму) возвращаю? Т.е. я ее считать должен?
Ничего себе. Я думал sum() это некий шаблонный алгоритм, куда я предоставляю тип с реализованным AddAssign. А тут оказывается всё сам делай ))) оО
Обсуждают сегодня