Снаружи тип выглядит как value, но несколько копий struct делят один reference-объект — мутация «копии» меняет остальные.
Разбор
- Нарушает ожидания программиста о независимости.
- Документируйте shared reference или используйте COW box.
- Для UI-state предпочитайте чистые value поля.
- Sendable/concurrency тоже страдают.
Итог
Скрытый class внутри struct ломает value semantics — избегайте или оборачивайте явно.