База Hintsage

Программирование Swift

Язык Swift и разработка приложений в экосистеме Apple.

Темы раздела

Выберите подраздел

Практика

Вопросы: Программирование Swift

В практическом коде generic-функция принимает тип, соответствующий протоколу с associated type. Почему вариант с any в ограничении не компилируется, а вариант без него работает?

protocol Parsable {
    associatedtype Output
    static func parse(_ text: String) -> Output
}

struct Number: Parsable {
    static func parse(_ text: String) -> Int { Int(text)! }
}

func parse<T: any Parsable>(_ type: T.Type, _ text: String) -> T.Output {
    T.parse(text)
}

func parseCorrect<T: Parsable>(_ type: T.Type, _ text: String) -> T.Output {
    T.parse(text)
}

let value = parseCorrect(Number.self, "42")

Показано 441–460 из 651

Восстановление доступа