Вот кое-что, что немного озадачивает меня.
Я определил этот пустой протокол для целей тестирования:
protocol Doable {
}
Протокол пуст, я ожидаю, что любой возможный тип соответствует этому.
Но когда я использую этот код для выполнения простого теста, соответствующего протоколу, используя два способа.
if let _ = MyType.self as? Doable {
print("Doable match OK!!")
} else {
print("That doesn't match!!")
}
if MyType.self is Doable.Type {
print("Doable match OK!!")
} else {
print("That doesn't match!!")
}
В результате я всегда получаю следующее: ЭТО НЕ СООТВЕТСТВУЕТ .
Это то, что должно произойти?
Или мои тесты или ожидания неверны?