There are no non-failable value-preserving conversions from floating point values of any type to integers of any type. The API naming guidelines do not require that _only_ value-preserving type conversions omit the first argument; in this case, a strong convention among C family languages exists for the behavior of the conversion, and the guidelines tell us to omit needless words. This spelling has already been reviewed and approved for Swift 4. What are the &quot;subtle bugs all over the place&quot; that you observe, and what did those users expect to happen?<br><div class="gmail_quote"><div dir="ltr">On Mon, May 22, 2017 at 06:17 Rudolf Adamkovič via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Reply below.</div><br><div><blockquote type="cite"><div>On 22 May 2017, at 06:44, Xiaodi Wu via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br class="m_6772134569330137365Apple-interchange-newline"><div><span style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">[…], but the unlabeled spelling is not harmful, as `Int.init(_: Float)` is after all a non-failable initializer that converts from a floating point value to an integer value.<span class="m_6772134569330137365Apple-converted-space"> </span></span></div></blockquote></div><div><br></div><div>I respectfully disagree. From my experience (tutoring), this is harmful. It leads to subtle bugs all over the place. That’s what I observe.</div><div><br></div><div>Another citation from Swift API Guidelines:</div><div><br></div><div><blockquote type="cite">In initializers that perform value preserving type conversions, omit the first argument label, e.g. Int64(someUInt32)</blockquote><br></div><div>This is not a value preserving conversion, is it?</div><div><br></div><div>R+</div><div><br></div></div>_______________________________________________<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>
</blockquote></div>