(i.e. forall X -> Y: T<X> -> T<Y>). Вот это
impl<X, Y> From<T<X>> for T<Y>
where Y: From<X>
предсказуемо конфликтует с стдшным: impl<A> From<A> for A, специализацию низя т.к. стейбл компайлер, единственное что в голову приходит — это сделать метод в духе`impl T<X> { fn convert<Y>(self) -> T<Y> where Y: From<X> { .. } }`, но мб есть способ поидиоматичнее?
> специализацию нельзя https://lukaskalbertodt.github.io/2019/12/05/generalized-autoref-based-specialization.html
Можно же реализовать для него итератор и делать мап?
Только если как-то явно показать, что X и Y - разные типы. Но я даже не знаю как.
тоже с этим бодался и проиграл
Делай свой трейт
Обсуждают сегодня