callAsFunction
が暗黙的変換されるようになったら、 SE-0249 で色々がんばらなくても KeyPath
に callAsFunction
付けたらそれで済むと思うんだけど、それだと key path 式に限らず KeyPath
全般が変換できるようになるのと、 KeyPath
に ()
でコールできるようになるのでまずいかな?foo[keyPath: \.bar]
と \.bar(foo)
は主従が逆だからいいんじゃないかな? callAsFunction
を持つのは KeyPath
側、 subscript(keyPath:)
を持つのは Foo
側。