Trait>, а врапер struct Wrapper<T: ?Sized>(Rc<T>) в функцию, которая принимает Wrapper<dyn Trait> нельзя. Можно ли как-то это решить в stable ветке. В nightly получается имплиментируя трейты CoerceUnsized и DispatchFromDyn для Wrapper?
Собственно потому что Rc: CoerceUnsized, а Wrapper - нет
Вопрос был не столько в том, как он буквально поставлен, а скорее про причину отсутствия built-in способа. В Coercion Types указаны коэрсии параметризируемых типов, там максимум с боксом прокатит такой враппер.
Обсуждают сегодня