Avatar
@swiftbot class _Foo { class func get() -> _Foo { return _Foo() } } class Foo<X>: _Foo { override class func get() -> _Foo { return Foo() } } protocol Bar {} extension Foo where X: _Foo, X: Bar { static func make() -> Foo { return get() as! Foo } } Casting always failって出るけど嘘のパターン見つけた