Avatar
↑は c1Cat * だけど c2CatCat * ?とかわけわからなくなったので Swift に直してみたけど、↓みたいなことって理解で良い? class X<K> { func foo() -> K { ... } } class C: X<C> {} let c1 = C() let c2 = c1.foo() // c2の型がCになってほしい