Let's maybe try this from another direction… here is the feedback from LSG that suggested we choose isTriviallyIdentical(to:):
Let's maybe try and focus on point number one: "triviality".
The isTriviallyIdentical(to:) method on String will not be memcmp. This was discussed in one of our pitch threads:
If the feedback from LSG is we want to ship isTriviallyIdentical(to:) on String… then the feedback from LSG is that all that code I linked to falls under the "umbrella of triviality".
So let's look at Span. Here is the actual shipping implementation of isIdentical(to:) on Span:
That's it. One line of code performing an O(1) operation.
So again… all that code and all that conditional logic from String I linked to we are prepared to ship under the umbrella of triviality. But the feedback now is that one line of code — literally one line of code — from Span is somehow… not trivial? How can this be possible?
not meant to be a normative requirement, and without meaning to open discussion about padding ↩︎