Avatar
Kishikawa Katsumi 4/9/2018 2:22 PM
@swiftbot protocol FooProtocol { static func +(lhs: Self, rhs: Self) -> Self static func -(lhs: Self, rhs: Self) -> Self static prefix func-(value: Self) -> Self } extension FooProtocol { static func -(lhs: Self, rhs: Self) -> Self { return lhs + -rhs } } struct Foo : FooProtocol { static func +(lhs: Foo, rhs: Foo) -> Foo { return lhs } static prefix func-(value: Foo) -> Foo { return value } } let a = Foo() let b = a + a - a + a - a + a - a + a
2:24 PM
^ このコードだけ見るとコンパイラをいじめるだけのコードにしか見えないけど、佐野さんの例を見ると、これがコンパイルできる必要があるんだなあと。
😁 1