[swift-evolution] Change Request: Make myString.hasPrefix("") and myString.hasSuffix("") return true

Charlie Monroe charlie at charliemonroe.net
Mon Jul 18 15:18:56 CDT 2016


+1 - this shouldn't be hard to fix either - in StringLegacy.swift, add a check for prefix.isEmpty and return true...

> On Jul 18, 2016, at 7:36 PM, Chris Denter via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Hello –
> 
> Currently, the standard library String functions .hasPrefix() and .hasSuffix() will return false when given the empty string as input:
> 
> $ swift
>   1> "".hasPrefix("")
> $R0: Bool = false
>   2> "foo".hasPrefix("") 
> $R1: Bool = false
>   3> "foo".hasSuffix("")
> $R2: Bool = false
> 
> 
> This feels unexpected. The reason the methods behave this way seems to be a leaked implementation detail <https://twitter.com/cdntr/status/755059959713427456>.
> Some languages, such as Python, return True in these cases -- perhaps motivated by the `someSet.contains(emptySet) == true` analogy.
> 
> 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.
> 
> Thank you so much for your time,
> 
>     Chris
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160718/7b303397/attachment.html>


More information about the swift-evolution mailing list