FHIRModels icon indicating copy to clipboard operation
FHIRModels copied to clipboard

Package observation seems to collide with SwiftUI @Observable.

Open cyrilzakka opened this issue 1 year ago • 1 comments

I think I'm going crazy here but after importing

import ModelsDSTU2
import ModelsR4

in a project it stops compiling with some obscure errors. From what I can make out, it seems the classes defined in the package clash with the SwiftUI @Observable macro:

/var/folders/rt/5jrx9dk91r17__4r2tm3m01w0000gn/T/swift-generated-sources/@__swiftmacro_6cardya13HKDataManager10ObservablefMe_.swift:1:26 'Observation' is ambiguous for type lookup in this context

A minimal reproduction of this error:

import SwiftUI
import ModelsDSTU2
import ModelsR4

@Observable class TestClass {}

The quickest work around has been to move all associated code to a separate file in an extension.

cyrilzakka avatar Dec 28 '24 03:12 cyrilzakka

Oh yes, that sounds like @Observable uses an Observation concrete type in the expansion, which of course is also a type in the FHIR libraries.

Your workaround seems sensible to me. Maybe the Swift team can also improve the Macro to better scope the expansion to their internal types.

p2-apple avatar Dec 28 '24 07:12 p2-apple