Выбор ответа Middle Swift Concurrency обновлено
Что меняет языковой режим Swift 6
Вопрос
Что главное меняет языковой режим Swift 6 по сравнению с Swift 5?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Нарушения изоляции и Sendable становятся ошибками. В Swift 5 строгие проверки конкурентности включаются флагом и дают предупреждения.
Варианты ответа
- Удаляет GCD из языка, вместо него только async/await
- Делает все классы с изменяемым состоянием акторами
- Нарушения изоляции и Sendable становятся ошибкамиправильный ответ
- Запрещает классы в пользу структур и акторов
Разбор
В Swift 5 строгие проверки конкурентности включаются флагом и дают предупреждения. Режим Swift 6 делает полную проверку обязательной и превращает нарушения в ошибки: передача не-Sendable значения между доменами изоляции, обращение к состоянию актора без изоляции и т. п. Компилятор Swift 6 можно использовать и с режимом Swift 5, переходят помодульно. GCD никуда не делся, классы остаются классами.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.