<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><blockquote type="cite" class="">On Jan 20, 2017, at 5:15 PM, Ben Cohen via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""><br class=""><br class=""><blockquote type="cite" class="">On Jan 20, 2017, at 3:29 PM, Jaden Geller via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""><br class="">Wouldn’t `x[…]` be more consistent with these other syntaxes?<br class=""><br class=""></blockquote><br class="">Maybe (though are those extra characters really telling you much?). <br class=""><br class="">But you can’t write that in Swift – you’d need a 0-argument operator.<br class=""><br class="">(Or a […] postfix operator I guess if you wanted to try and sneak that through, but that is also not allowed… :)<br class=""></blockquote><br class=""><div class="">Technically, you can, since operators are function values:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">struct Foo {}</div><div class="">struct Woo { subscript(_: (Foo, Foo) -> Foo) -> Int { return 0 } }</div><div class="">func ...(_ x: Foo, _ y: Foo) -> Foo { return x }</div><div class=""><br class=""></div><div class="">Woo()[...]</div></blockquote><div class=""><br class=""></div><div class="">Whether you *want* to, though…</div><div class=""><br class=""></div><div class="">-Joe</div></body></html>