[Accepted with modifications] SE-0499: Support ~Copyable, ~Escapable in simple standard library protocols

Hello, Swift Evolution!

The review of SE-0499: Support ~Copyable, ~Escapable in simple standard library protocols has concluded, and the Language Steering Group decided that the proposal is accepted with modifications.

The review discussion was light and many reviewers noted that the ability to use these common standard library protocols with ~Copyable and ~Escapable types is much needed. One reviewer noted that the adoption of ~Copyable and ~Escapable on CustomStringConvertible allows the overload of String.init(describing:) that accepts a type parameter T where T: CustomStringConvertible to also suppress the copyable and escapable requirements. The LSG decided to accept the proposal with this addition.

As always, thank you to everyone who participated in the pitch and proposal review. Your contributions help make Swift a better language.

Holly Borla
Review Manager

9 Likes

I neglected to call it out specifically, but CustomDebugStringConvertible has the same pattern with String.init(reflecting:). Can we make sure to include an overload of that initializer too?

3 Likes