Что нового в Swift 6
Что проверяют
Следите ли вы за развитием языка и понимаете ли, что главное изменение тут не синтаксис, а проверка гонок данных на этапе компиляции. Заодно выясняют, переводили ли вы на новый режим реальный проект.
Как отвечать
Ключевое это режим языка Swift 6: он включается отдельной настройкой и превращает предупреждения о конкурентности в ошибки сборки. Компилятор требует доказать, что значение безопасно пересекает границу актора: типы обязаны соответствовать Sendable, изменяемые глобальные переменные запрещены (нужно либо неизменяемое значение, либо привязка к @MainActor, либо явная пометка о небезопасности), замыкания и параметры проверяются на изоляцию.
Обязательно скажите, что переход постепенный. Компилятор поддерживает и прежний режим, модули с разными режимами собираются в одном проекте, отдельные проверки включаются флагами будущих возможностей, а чужие библиотеки без аннотаций подключают с пометкой о доконкурентном коде.
Из остального стоит назвать типизированные ошибки, когда функция объявляет конкретный тип ошибки; развитие типов без копирования, в том числе в дженериках; модуль синхронизации с мьютексом и атомарными операциями; вариант языка для встраиваемых устройств; переписанную на Swift основу Foundation; новый фреймворк тестирования на макросах вместо наследования от базового класса.
Сильный ход это рассказать про свою миграцию: больше всего ошибок обычно дают синглтоны, делегаты UIKit и колбэки старых библиотек.
Где спотыкаются
Перечисляют улучшения производительности и синтаксиса, не называя ни одного конкретного пункта. Фразы про оптимизации компилятора и новые алгоритмы управления памятью не значат ничего: подсчёт ссылок никуда не делся.
Второе: выдают за новинки то, что было раньше: метки аргументов, дженерики, акторы и async/await. Модель конкурентности появилась раньше, в шестой версии её сделали обязательной к соблюдению.
Третье: думают, что обновление компилятора само включает строгий режим и ломает проект. Режим выбирается в настройках сборки, старый код собирается по-прежнему. Чаще встречается обратная ошибка: обещают включить и починить за вечер, а в большом проекте миграция идёт модулями неделями.