При попытке сотворения объекта генерируется cra sh, связанная с освобождением объекта.
Проблема может быть сужена до следующего кода:
enum A: Error {
case a
}
enum B: Error {
case b
}
func errorHanlding(result: Result<Void, NSError>) {
if case .failure(let error) = result {
if case .a = error as? A {
print("Success")
}
}
return
}
errorHanlding(result: .failure(B.b as NSError))
Это фрагмент кода, который позволяет проверить источник root. Проблема связана с этой строкой:
if case .a = error as? A
Без этого приведения все работает правильно.
Никто не знает, почему происходит сбой?
Версия Xcode: 11.3.1 Swift: 5.1.3