> On 22. Sep 2017, at 23:55, Ben Cohen <ben_co...@apple.com> wrote:
> 
> In order to be able to use pos… this function would need to be converted from 
> it’s current signature (that takes a concrete Range) to be generic over any 
> RangeExpression.In this case of this method, the range is optional – and in 
> case of nil (which is the default) there would be insufficient context to 
> determine the actual type of the RangeExpression. So we’d need to have an 
> overload instead.
> 
> But none of this ought to be necessary, because constant time slicing and 
> index sharing means we don’t need to have functions take optional range 
> arguments any more. Instead you can just write str[pos...].range(of: “f”). 

That makes sense.

> 
> Except... this technique has a bug in it for this particular method when used 
> on substrings, that we need to fix before that can be used instead. Hoping 
> for that to be fixed on master soon...

Good to know!

Regards, Martin

> 
>> On Sep 21, 2017, at 2:44 AM, Martin R via swift-users <swift-users@swift.org 
>> <mailto:swift-users@swift.org>> wrote:
>> 
>> The range(of:options:range:locale:) method of StringProtocol does not accept 
>> a partial range as search range. Example (Xcode 9, Swift 4):
>> 
>>     let str = "foo"
>>     let pos = str.startIndex
>>     let r = str.range(of: "f", range: pos...)
>>     // error: cannot convert value of type 'PartialRangeFrom<String.Index>'
>>     // to expected argument type 'Range<String.Index>?'
>> 
>> Is that because it is an NSString method imported to Swift? Would it make 
>> sense to file an enhancement request?
>> 
>> Regards, Martin
>> 
>> _______________________________________________
>> swift-users mailing list
>> swift-users@swift.org <mailto:swift-users@swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-users
> 

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to