<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br><br>Sent from my iPad</div><div><br>On Jan 20, 2017, at 6:11 PM, Joe Groff <<a href="mailto:jgroff@apple.com">jgroff@apple.com</a>> wrote:<br><br></div><blockquote type="cite"><div><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></blockquote><div><br></div>Joe, you are an evil genius.</body></html>