как недорешение можешь попробовать заменить на fully-qualified вызов, т.е. <Self as B>::b(&self)
трейты не будут знать друг о друге пока ты им не расскажешь
так вот в этом и вопрос, может я могу рассказать на этапе их декларации
да у тебя для этого есть синтаксис: trait A: B {} теперь A будет требовать реализацию и B и следовательно мочь вызывать его интерфейс
я понимаю, но идея то в том, чтобы разнести реализации двух разных трейтов в разные места 🙂 Может так не практикуется, не знаю.
разносить можно как угодно
А причем тут знание трейтов о друг друге? Там же импл для явного типа
омг ну это конечно не выглядт эстетично 🙂
иии? как одна имплентация будет знать о свойствах других?
там тип один, i.e for u32
иии? но трейты разные и они как бы живут независимо
Так для self есть доступ ко всем реализованным для него трейтам см плейграунд выше
это пока они в одной каше варятся
Обсуждают сегодня