[4.1][stdlib] Fix signature error in two IndexDistance compatibility shims #14444
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
• Explanation: Two source compatibility shims for code that assumed non-Int index distance had minor method signature erros, so weren’t forwarding on to the correct Int-based underlying implementation, instead they were calling themselves.
• Scope of Issue: In the case of calling into these compatibility shims, they would recurse and crash at runtime instead of forwarding on to the underlying implementation.
• Origination: When the other compatibility shims for IndexDistance were originally added, these two were commented out due to a compiler crash. When that crash was fixed, they were uncommented but still needed tests.
• Risk: Low risk; these two methods (formIndex(after:) and index(_:offsetBy:limitedBy)) are fairly rarely used.
• Reviewed By: @moiseev
• Testing: Regular regression tests, plus additional tests that simulate the compatibility issue the shims resolve.
• Radar / SR: rdar://problem/37290679