Swift 3.0 migrator adds try twice if methods are chained
Originator: | keithbsmiley | ||
Number: | rdar://26886954 | Date Originated: | 19-Jun-2016 23:35 |
Status: | Duplicate of 26924050 (open) | Resolved: | |
Product: | Developer Tools | Product Version: | Xcode 8 beta 1 |
Classification: | Other Bug | Reproducible: | Always |
Summary: When migrating our codebase from Swift 2.2 -> Swift 3.0 we noticed that when we had multiple chained methods that acquired `throws` in the migration, `try!` was added twice. Steps to Reproduce: 1. Define an expression where multiple functions are called that now have `throws` in Swift 3.0. Example: ``` let remoteFileURL = baseAssetsURL .URLByAppendingPathComponent(remoteFileName + fileSuffix) .URLByAppendingPathExtension("zip") ``` 2. Migrate the code Expected Results: `try!` is added a single time, resulting in: ``` let remoteFileURL = try! baseAssetsURL .appendingPathComponent(remoteFileName + fileSuffix) .appendingPathExtension("zip") ``` Actual Results: Instead, two `try!`s are added, resulting in: ``` let remoteFileURL = try! try! baseAssetsURL .appendingPathComponent(remoteFileName + fileSuffix) .appendingPathExtension("zip") ``` Version: Xcode 8 beta 1 Notes:
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!