<div dir="ltr">Sorry, the second example was supposed to be <div><span class="im" style="font-size:13px"><br></span></div><div><span class="im" style="font-size:13px">func doSomething(completionHandler </span><span style="font-size:13px;color:rgb(80,0,80)">completion</span><span style="font-size:13px;color:rgb(80,0,80)">: (()-&gt;Void)? = nil) </span><br><div><span class="im" style="font-size:13px"><br></span></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Feb 7, 2016 at 7:51 PM, ilya <span dir="ltr">&lt;<a href="mailto:ilya.nikokoshev@gmail.com" target="_blank">ilya.nikokoshev@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">One can consider everything inside the parentheses to be an argument list and read them as &quot;with/using an argument list&quot;. It works well if the preceding part has a verb, such as <div><br></div><div>copy(zone: ...) </div><div>-&gt; &quot;Copy with [a single argument] zone equal to ...&quot;</div><div><span class=""><div><br></div><div>func doSomethingWith(completionHandler: (()-&gt;Void)? = nil) </div></span><div>-&gt; &quot;doSomething with a given completion handler or do something with a default argument list.&quot;<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Not sure if there&#39;s any value in spelling it out. I believe we use &quot;with&quot; so it in Objective-C mostly out of necessity and can easily omit it in Swift.</div><span class="HOEnZb"><font color="#888888"><div class="gmail_extra"><br></div><div class="gmail_extra">Ilya.</div></font></span><div><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 6, 2016 at 10:12 PM, Matthew Judge via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">This issue is going to surface any time a method with a preposition and a single defaulted argument. I would say:<br>
<br>
copy(with: )<br>
<br>
Although I think we might have problematic results no matter what guidelines we use for<br>
<br>
func doSomethingWith(completionHandler: (()-&gt;Void)? = nil)<br>
<br>
since this can be called as<br>
<br>
doSomethingWith() // doSomething()<br>
<br>
Or<br>
<br>
doSomethingWith {...} // doSomething {...}<br>
<div><div><br>
&gt; On Feb 6, 2016, at 15:47, Jean-Daniel Dupas via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;&gt; Le 6 févr. 2016 à 21:15, Douglas Gregor via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; a écrit :<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Sent from my iPhone<br>
&gt;&gt;<br>
&gt;&gt;&gt; On Feb 6, 2016, at 9:21 AM, Thorsten Seitz &lt;<a href="mailto:tseitz42@icloud.com" target="_blank">tseitz42@icloud.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; So the preposition should move into the argument label if the argument is optional?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; copy(withZone: zone = nil)<br>
&gt;&gt;<br>
&gt;&gt; Zone is redundant with type information.<br>
&gt;&gt;<br>
&gt;&gt; copy(with:)?<br>
&gt;&gt; copy(withZone:)?<br>
&gt;<br>
&gt; Wouldn’t it be possible to simply drop the copyWithZone: method that is deprecated for some times now (To quote the doc: Zones are ignored on iOS and 64-bit runtime on OS X. You should not use zones in current development).<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; -Thorsten<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Am 06.02.2016 um 14:45 schrieb Matthew Judge via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Very first method<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; copyWith(zone: Zone = nil)<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; can be called as<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; copyWith()<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I&#39;m assuming this is still something we don&#39;t want right?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Feb 6, 2016, at 02:16, Douglas Gregor via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On Feb 5, 2016, at 1:32 PM, Dave Abrahams via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Given all the awesome feedback I&#39;ve gotten on this thread, I went back<br>
&gt;&gt;&gt;&gt;&gt;&gt; to the drawing board and came up with something new; I think this one<br>
&gt;&gt;&gt;&gt;&gt;&gt; works.  The previously-stated goals still apply:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; [snip goals]<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; P.S. Doug is presently working on generating new importer results, based<br>
&gt;&gt;&gt;&gt;&gt;&gt;    on these guidelines, for your perusal.  They should be ready soon.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Here’s a link:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;    <a href="https://github.com/apple/swift-3-api-guidelines-review/pull/10/files" rel="noreferrer" target="_blank">https://github.com/apple/swift-3-api-guidelines-review/pull/10/files</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Feedback welcome!<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;    - Doug<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt;&gt; swift-evolution mailing list<br>
&gt;&gt;&gt;&gt;&gt; <a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; swift-evolution mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
&gt;&gt;&gt;&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; swift-evolution mailing list<br>
&gt;&gt; <a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
&gt;&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; swift-evolution mailing list<br>
&gt; <a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</div></div></blockquote></div><br></div></div></div></div></div>
</blockquote></div><br></div>