SE-0494: Add `isIdentical(to:)` Methods for Quick Comparisons to Concrete Types

The Language Steering Group talked about this today.

The LSG is inclined towards accepting SE-0494 under the name isTriviallyIdentical(to:):

  • "trivial" to emphasize that this should be a fast O(1) check, ideally as simple as a bitwise comparison[1], rather than a deep comparison; and
  • "identical" to emphasize that is not an equality check and is not specifically required to be consistent with Equatable, which the providing type needn't even conform to.

Since this name has not been extensively discussed, the review period is being extended until Monday, October 13th, to gather additional feedback.

On non-naming subjects, the LSG agrees with the proposal that there is no immediate need for a protocol, and we accept Karoy's suggestion that this also be added to the Unsafe*BufferPointer and UTF8Span APIs. These aspects of SE-0494 are hereby accepted, and we ask that the extended review period focus on the remaining naming issue.

I'd like to thank the community for its active and thoughtful engagement in this review so far.

John McCall
Review Manager


  1. not meant to be a normative requirement, and without meaning to open discussion about padding ↩︎

19 Likes