Hi Brent,

> On May 26, 2016, at 2:29 PM, Brent Royal-Gordon via swift-corelibs-dev 
> <swift-corelibs-dev@swift.org> wrote:
> 
>>        #if os(Linux)
>>            print("Let's change those carriage returns...")
>>            processedString = string.replacingOccurrences(of: "\r\n", with: 
>> "\n")
>>        #else
>>            processedString = string.replacingOccurrences(of: "\r\n", with: 
>> "\n")
>>        #endif
>> And it compiles flawlessly in linux, but when it’s time to execute, it 
>> throws an error message like:
>> Let's change those carriage returns...
>> Illegal instruction (core dumped)
> 
> I don't have a Swift on Linux box, so I can't really run Corelibs Foundation 
> myself. But looking at the source code 
> <https://github.com/apple/swift-corelibs-foundation/blob/182d5c970114ec7f981aceaaa054d51e29923cf3/Foundation/NSString.swift#L1383>,
>  I'm not sure that it will behave correctly when you replace a string with a 
> differently-sized string and .backwardsSearch is not set. Maybe there's 
> something I'm missing, but it looks to me like each replacement will shift 
> the characters in the string, but the ranges won't move with them. The 
> replacements will miss their targets more and more, and eventually—if the 
> replacement is shorter than the original and one of the matches is near 
> enough to the end—they might run past the end of the string.
> 
> Carlos: Try passing `options: .backwardsSearch` to `replacingOccurrences`. If 
> I'm right about this being a bug, doing that should work around it, and you 
> ought not to notice any difference in your code's behavior. (This is not 
> something you should have necessarily figured out yourself; you haven't 
> missed anything obvious.)
> 
> swift-corelibs-dev (who I've cc'd on this thread): Am I correct that this is 
> a bug? Should it be/has it been filed? (A quick-and-dirty search of the bug 
> tracker seems to indicate it hasn't been, but I don't have that much 
> experience with it.)
> 

Can’t hurt to file a bug. It’ll help us track what we have left, and also give 
people a place to look for something they can help with.

Thanks,
- Tony

> -- 
> Brent Royal-Gordon
> Architechies
> 
> _______________________________________________
> swift-corelibs-dev mailing list
> swift-corelibs-dev@swift.org
> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev

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

Reply via email to