Contents

isTriviallyIdentical(to:)

Returns a boolean value indicating whether this array is identical to other.

Declaration

func isTriviallyIdentical(to other: Array<Element>) -> Bool

Discussion

Two array values are identical if there is no way to distinguish between them.

For any values a, b, and c:

  • a.isTriviallyIdentical(to: a) is always true. (Reflexivity)

  • a.isTriviallyIdentical(to: b) implies b.isTriviallyIdentical(to: a). (Symmetry)

  • If a.isTriviallyIdentical(to: b) and b.isTriviallyIdentical(to: c) are both true, then a.isTriviallyIdentical(to: c) is also true. (Transitivity)

  • If a and b are Equatable, then a.isTriviallyIdentical(b) implies a == b. a == b does not imply a.isTriviallyIdentical(b)

Values produced by copying the same value, with no intervening mutations, compare as identical:

let d = c
print(c.isTriviallyIdentical(to: d))
// Prints true.

Comparing arrays this way includes comparing implementation details that are normally hidden, such as the memory location of any underlying array storage, These details aren’t considered when comparing for equality with the == operator. Therefore, identical arrays are guaranteed to compare equal, but not all equal arrays are identical.