# Вызов через несовместимую изоляцию

RuleID: concurrency.incompatible-isolation@1.0.0
Status: recovery-required
Catalog snapshot: 4558458d

Accepted subset is bounded. If required evidence is incomplete, the affected result is unknown.

## V-EXEC-01 — Вызов через несовместимую изоляцию

Код обращается к состоянию из контекста, которому это состояние не принадлежит. Особенно опасны границы legacy API, скрывающие изоляцию от компилятора.

Status: recovery-required

Scope notes: Source producer требует восстановления и квалификации. Если необходимые факты не получены, результат — unknown, а не «ошибки нет».

### Before (illustrative)

```swift
// Legacy callback на произвольном executor:
legacy.onValue = { model.updateUI() }
```

### After (illustrative)

```swift
legacy.onValue = { value in
    Task { @MainActor in model.updateUI(value) }
}
```

Boundary: Учитывать compiler overlap; неизвестный callback не definite mismatch

---
Language: ru
Canonical: https://docs.swift-analyzer.com/catalog/concurrency.incompatible-isolation/
Source revision: 4558458d
