<div dir="ltr"><div style="color:rgb(80,0,80);font-size:12.800000190734863px">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:</div><div style="color:rgb(80,0,80);font-size:12.800000190734863px"><br></div><div style="color:rgb(80,0,80);font-size:12.800000190734863px">&quot;Do not declare new conformances to StringProtocol. Only the String and Substring types of the standard library are valid conforming types.&quot;</div><div style="color:rgb(80,0,80);font-size:12.800000190734863px"><br></div><div style="color:rgb(80,0,80);font-size:12.800000190734863px">While I don&#39;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.</div><div style="color:rgb(80,0,80);font-size:12.800000190734863px"><br></div><div style="color:rgb(80,0,80);font-size:12.800000190734863px">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?</div></div>