Swift: '==' нельзя применять между двумя операндами

Я использую Swift 1.2, и мне трудно понять, почему это расширение не компилируется. Я, должно быть, что-то упустил - T - Equatable, и поэтому я подумал, что я смогу сравнить через оператор '=='?

extension Array {
    func indexOf<T:Equatable>(element: T?) -> Int?
    {
        if element != nil {
            for (var i = 0; i < self.count; i++)
            {
                var val = self[i]
                if val == element! { // Error: Binary operator '==' cannot be applied to two T operands
                    return i
                }
            }
        }

        return nil
    }
}

0 ответов

Другие вопросы по тегам