реализации для одного и того же трайта? Попробовал - не получилось, хотя не понятно, как они конфликтуют - я же могу при неоходимости импортировать только одну? (А то какие-то странные тайпклассы получаются, если их только один раз для конкретного типа реализовать)
Почему странные?
Нельзя. @kitsu верно написал, что реализация типажа для типа глобальна и нет никакого способа именно ее импортировать или еще что-то с видимостью сделать. От этого же, в общем-то, сложности с orphan rules.
А зачем такое нужно?
К предыдущим двум ответам добавлю, что это правило per crate, а не per module. Потому что крейт компилируется одним целым, а не отдельные модули.
Обсуждают сегодня