возможно если совсем грубо накидать мою идею в башке, то будет что-то такое: суть в том, что макрос генерирует си совместимую функцию, где в виде типов приколы, таким образом, в теории должно быть невозможным засунуть туда типы, которые не могут быть построены (нельзя построить = нельзя передать = нельзя принять, логично ...) https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=fa5044c7de181ec1bbf1a8ac1d55d803
Прикол-ориентированное погромирование?
его в качестве примера назвал, чтобы можно было не реализовывать свой трейт поведение же одинаковое (моего AsC и Deref)
Мне кажется или вам нужен обычный sealed trait?
Ну для своих трейтов ты же можешь реализовать что угодно можешь везде Target указать например
я так уже и поступил просто сам факт невозможности такое провернуть удивил
ну если DerefMut: Deref T: DerefMut то <T as Deref>::Target вполне себе возможно
Обсуждают сегодня