[swift-evolution] StringProtocol - Do not declare new conformances?

Braden Scothern bradenscothern at gmail.com
Tue Sep 19 17:34:13 CDT 2017

Where I work we are writing a C library for cross platform development on
iOS, Android, and Ubuntu. Part of what I do with this library is wrap it in
Swift. We have a string type that should conform to StringProtocol. The
issue is that the StringProtocol has this statement for its documentation

"Do not declare new conformances to StringProtocol. Only the String and
Substring types of the standard library are valid conforming types."

While I don't think many people will/should conform to StringProtocol, I
feel like discouraging the usage of the protocol in the rare cases is is
applicable takes away a very powerful tool from the language.

Are there specific implementation details in the standard library that make
it so other types cannot safely conform to StringProtocol? If not is there
a compelling reason for this statement to be on the protocol?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170919/71cd1694/attachment.html>

More information about the swift-evolution mailing list