это больше похоже на костыль.
Ага. Что-то вроде: struct Type { ... }; fn a(self: Type) {} Type { ...}.a() А что в экстеншенах костыльного? O_o Вроде всё норм... И уж как минимум лучше этого: trait TypeExt { fn a(self) } impl TypeExt for Type { fn a(self) {} } Трэиты хороши когда имеют смысл для какого-то множества типов, но не когда для одного... + в таком варианте документация становится более запутанной. А экстеншены это просто обычные функции, которые вызываются через точку. (удобно для чейнинга например)
Обсуждают сегодня