arrays contain the same elements. public func ==<Element>(lhs: [Element], rhs: [Element]) -> Bool where Element : Equatable /// Swift4.1 extension Array: Equatable where Element: Equatable { static func ==(lhs: Array<Element>, rhs: Array<Element>) -> Bool } [1,2,3] == [1,2,3] // ok 1 https://github.com/apple/swift-evolution/blob/master/proposals/0143-conditional-conformances.md https://github.com/apple/swift/blob/master/docs/GenericsManifesto.md 11