Карточка Senior Swift Concurrency обновлено
Что такое @Sendable-замыкание
Вопрос
Какие ограничения у @Sendable-замыкания?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Оно захватывает только Sendable-значения и не может захватывать изменяемые локальные var (их нельзя менять из разных доменов). Его требуют API, которые могут выполнить замыкание конкурентно с вызывающим кодом.
Ответ
Оно захватывает только Sendable-значения и не может захватывать изменяемые локальные var (их нельзя менять из разных доменов). Его требуют API, которые могут выполнить замыкание конкурентно с вызывающим кодом.
Разбор
Ошибка «mutation of captured var in concurrently-executing code» лечится копией значения в let или переносом состояния в актор.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.