[swift-evolution] [Late Pitch] Deprecations, Moves, and Renames
Ben Rimmington
me at benrimmington.com
Fri Aug 12 17:00:56 CDT 2016
> On 12 Aug 2016, at 21:03, Dave Abrahams wrote:
>
>> on Fri Aug 12 2016, Ben Rimmington wrote:
>>
>>> On 9 Aug 2016, at 20:09, Dave Abrahams wrote:
>>>
>>> Deprecate the ExpressibleByStringInterpolation protocol with a
>>> message indicating that its design is expected to change. We know
>>> this protocol to be mis-designed
>>> (https://bugs.swift.org/browse/SR-1260) and limited
>>> (https://bugs.swift.org/browse/SR-2303), but there's no time to fix it
>>> for Swift 3. If we knew what the new design should look like, we
>>> might be able to calculate that the current API is supportable in a
>>> forward-compatible way (as we do for Comparable). Unfortunately, we
>>> do not.
>>
>> Can the deprecation of ExpressibleByStringInterpolation be reverted next year,
>> if a backwards-compatible design is proposed for Swift 4.0?
>
> Yes, that's the plan, even if a backwards-compatible design isn't
> proposed. The reason to deprecate it now is that we're not sure a
> backwards-compatible design will be possible.
The only downside is when manually converting to current Swift syntax:
1. ⚠️ 'StringInterpolationConvertible' is deprecated:
renamed to 'ExpressibleByStringInterpolation'
2. ☑️ Fix-it: Use 'ExpressibleByStringInterpolation' instead
3. ⚠️ 'ExpressibleByStringInterpolation' is deprecated:
it will be replaced or redesigned in Swift 4.0.
Instead of conforming to 'ExpressibleByStringInterpolation',
consider adding an 'init(_:String)'
-- Ben
More information about the swift-evolution
mailing list