Seems to be a bug, this code gives me a similar compiler error
import Foundation
import SwiftUI
import SwiftData
// DataTopModelClass.swift
// Oracle AI
//
// Created by Steven Ebrey on 29/08/2023.
//
@Model
final class TopModel: ObservableObject {
var id: UUID
var currentExpertise: Expertise
var previousExpertise: [Expertise]
init(id: UUID, currentExpertise: Expertise) {
self.id = id
self.currentExpertise = currentExpertise
self.previousExpertise = []
}
}
extension TopModel: Identifiable {}
extension TopModel: Equatable {
static func == (lhs: TopModel, rhs: TopModel) -> Bool {
return lhs.id == rhs.id && lhs.currentExpertise == rhs.currentExpertise && lhs.previousExpertise == rhs.previousExpertise
}
}
extension TopModel: Hashable {
func hash(into hasher: inout Hasher) {
hasher.combine(id)
hasher.combine(currentExpertise)
hasher.combine(previousExpertise)
// hasher.combine(messagesmodel)
}
}
Here is compiler error
{
@storageRestrictions(accesses: _$backingData, initializes: _currentExpertise)
init(initialValue) {
_$backingData.setValue(forKey: .currentExpertise, to: initialValue)
_currentExpertise = _SwiftDataNoType()
}
get {
_$observationRegistrar.access(self, keyPath: \.currentExpertise)
return self.getValue(forKey: \.currentExpertise)
}
set {
_$observationRegistrar.withMutation(of: self, keyPath: \.currentExpertise) {
self.setValue(forKey: \.currentExpertise, to: newValue)
}
}
}