<div dir="ltr"><div class="gmail_default">This almost seems more like a bug than a change request. Definitely agree.</div><div class="gmail_default"><br></div><div class="gmail_default">&gt; +1 - this shouldn&#39;t be hard to fix either - in StringLegacy.swift, add a check for prefix.isEmpty and return true...<br>&gt; <br>&gt; &gt; On Jul 18, 2016, at 7:36 PM, Chris Denter via swift-evolution&lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>(mailto:<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>)&gt;wrote:<br>&gt; &gt; Hello –<br>&gt; &gt; <br>&gt; &gt; Currently, the standard library String functions .hasPrefix() and .hasSuffix() will return false when given the empty string as input:<br>&gt; &gt; <br>&gt; &gt; $ swift<br>&gt; &gt; 1&gt;&quot;&quot;.hasPrefix(&quot;&quot;)<br>&gt; &gt; $R0: Bool = false<br>&gt; &gt; 2&gt;&quot;foo&quot;.hasPrefix(&quot;&quot;)<br>&gt; &gt; $R1: Bool = false<br>&gt; &gt; 3&gt;&quot;foo&quot;.hasSuffix(&quot;&quot;)<br>&gt; &gt; $R2: Bool = false<br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; This feels unexpected. The reason the methods behave this way seems to bea leaked implementation detail(<a href="https://twitter.com/cdntr/status/755059959713427456">https://twitter.com/cdntr/status/755059959713427456</a>).<br>&gt; &gt; Some languages, such as Python, return True in these cases -- perhaps motivated by the `someSet.contains(emptySet) == true` analogy.<br>&gt; &gt; <br>&gt; &gt; The ship has sailed for NSString and Foundation, but we might want to bite the bullet and fix this for Swift before 3.0 makes that much harder.<br>&gt; &gt; <br>&gt; &gt; Thank you so much for your time,<br>&gt; &gt; <br>&gt; &gt; Chris_______________________________________________<br>&gt; &gt; swift-evolution mailing list<br>&gt; &gt; <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>(mailto:<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>)<br>&gt; &gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>&gt; <br>&gt; <br>&gt; <br></div><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature">-Tal</div></div>
</div>