1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
class A<T: A = B> { function foo(self) -> T { ??? } } a::<T> vow A, B, C, D, E, F, G { return T where { T: A } } micro like(a) { callback }