where
F: Fn(Ctx) -> V,
V: View
{
type Ctx = Ctx;
type View = V;
fn construct(&self, ctx: Self::Ctx) -> Self::View {
self(ctx)
}
}
ругается что the type parameter `Ctx` is not constrained by the impl trait, self type, or predicates. Какие есть способы обхода этого ограничения?
Ctx замени на TCtx, и проверь, скомпилится ли.
да оно и на V ругается тоже)
struct Wrapper<F, Ctx, V> where F: Fn(Ctx) -> V, { f: F, _c: PhantomData<Ctx>, _v: PhantomData<V>, }
хм, некрасиво, ну да ладно
Это потому что у функции параметры — дженерик, а не ассоциированный тип.
Обсуждают сегодня