La declaración de cambio rápido consideró todos los casos de Int, pero el compilador aún muestra un error

Entiendo que la declaración de cambio en Swift debe ser exhaustiva, de lo contrario, tenemos que proporcionar un caso predeterminado. Vi el código a continuación en línea, la declaración del interruptor ya ha cubierto todos los casos en Int, pero el compilador aún muestra un mensaje de error de que el interruptor debe ser exhaustivo, considere agregar una cláusula predeterminada. ¿Se me escapa algo?

extension Int {
    enum Kind {
        case Negative, Zero, Positive
    }

    var kind: Kind {
        switch self {
        case 0:
            return .Zero
        case let x where x > 0:
            return .Positive
        case let x where x < 0:
            return .Negative
        }
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta