Предикаты по энумам: фильтруем сам энум, не rawValue 🛟
🎯 $0.status == .ready внутри предиката SwiftData. Наконец-то. iOS 27 вычисляет сравнения #Predicate прямо на свойствах-энумах. Костыль «сохраним ещё и rawValue отдельной колонкой, чтобы было по чему фильтровать» уходит на пенсию, а модели сохраняют настоящие типы.
⚠️ Но осторожно: это рантайм-гейт, а не compile-time. Тот же самый предикат прекрасно собирается для более старых таргетов — и падает уже при выполнении. Так что фильтры по энумам оборачивайте в #available(iOS 27, *), компилятор тут не подстрахует. Работает для Codable-энумов с сырым типом. Энумы с ассоциированными значениями по-прежнему не запрашиваются, и внутри @Attribute(.codable) фильтровать тоже нельзя — там непрозрачный блоб.