[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
overview:

"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