When I want create specialized class from generics I get this error:
error: using 'P2' as a concrete type conforming to protocol 'P1' is not supported
From code:
protocol P1 {
func foo()
}
protocol P2: P1 {
}
class C1<T: P1> {
}
class C2: C1<P2> {
}
I don't understand why it is not possible. Is known some workaround?