Выбор ответа Middle Swift Concurrency обновлено

Что меняет языковой режим Swift 6

Вопрос

Что главное меняет языковой режим Swift 6 по сравнению с Swift 5?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Нарушения изоляции и Sendable становятся ошибками. В Swift 5 строгие проверки конкурентности включаются флагом и дают предупреждения.

Варианты ответа

  1. Удаляет GCD из языка, вместо него только async/await
  2. Делает все классы с изменяемым состоянием акторами
  3. Нарушения изоляции и Sendable становятся ошибкамиправильный ответ
  4. Запрещает классы в пользу структур и акторов

Разбор

В Swift 5 строгие проверки конкурентности включаются флагом и дают предупреждения. Режим Swift 6 делает полную проверку обязательной и превращает нарушения в ошибки: передача не-Sendable значения между доменами изоляции, обращение к состоянию актора без изоляции и т. п. Компилятор Swift 6 можно использовать и с режимом Swift 5, переходят помодульно. GCD никуда не делся, классы остаются классами.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.