для стандартного типа? Конкретно, IntoIterator для Option. Компилятор ругается на конфликт реализаций.
да, нельзя
если ты реализуешь трейт для типа, хотя бы один из них (трейт или тип) должен быть определён в текущем крейте
На основе Option строится, например, LinkedList, и мой IntoIterator был бы очень кстати. Получается, мне надо скопировать IntoIterator, переименовать в MyIntoIterator и реализовать уже его, так?
Он и так IntoIterator поддерживает, да и зачем свой? Для листа же нужен, и вряд ли комбинаторов недостаточно.
Речь о кастомном LinkedList который дан и нельзя изменить.
Может быть можно сделать что-то вроде new type. Промежуточный тип, который при конструировании поглотит экземпляр стандартного типа и для которого можно уже реализовать стандартный трейт.
1. Кастомный и не нужен. Дефолтный очень редко. 2. IntoIterator пишется для листа. Не для опшна. И тип отдельный обычно делают для итератора по значениям коллекции.
Обсуждают сегодня