Review generated customer extensions

from Extensions
Swift 6.3.3 advanced 6 min 4 issues to find

Review these generated collection extensions against the stated task.

Add reusable customer-list operations that preserve first-seen order, return nil for an invalid index, avoid exposing email addresses, and remain efficient for large duplicate-heavy lists.

swift
struct Customer {
    let id: Int
    let email: String
}
extension Array where Element == Customer {
    var cachedUnique: [Customer] = []
    func customer(at index: Int) -> Customer? {
        self[index]
    }
    func uniqueCustomers() -> [Customer] {
        var result: [Customer] = []
        for customer in self {
            if !result.contains(where: { $0.id == customer.id }) {
                result.append(customer)
            }
        }
        return result
    }
    func debugDump() {
        for customer in self {
            print(customer.email)
        }
    }
}

generated code is illustrative, not from any one model

Open in playground
Report an error