# Гонка на общей памяти за unsafe/legacy boundary

RuleID: portfolio.async.18@1.0.0
Status: recovery-required
Catalog snapshot: 4558458d

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

## V-ASYNC-18 — Гонка на общей памяти за unsafe/legacy boundary

Unsafe Sendable или legacy-граница может скрыть общую изменяемую память от проверок компилятора.

Status: recovery-required

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

### Before (illustrative)

```swift
// Box объявлен @unchecked Sendable.
Task.detached { box.count += 1 }
Task.detached { box.count += 1 }
```

### After (illustrative)

```swift
// Состояние принадлежит actor.
await counter.increment()
```

Boundary: unchecked Sendable сам по себе не доказательство гонки

---
Language: ru
Canonical: https://docs.swift-analyzer.com/catalog/portfolio.async.18/
Source revision: 4558458d
