[Second review] SE-0395: Observability

Hey there,
I was forwarded here from the Pitch thread.

As some of you might know, there seems to be a heavy regression in Xcode 15 Beta 2 where importing SwiftUI re-exports Observation.

This means that any app that has SwiftUI and RxSwift imported is broken and can't be compiled, since Observation.Observable conflicts with RxSwift.Observable:

image

RxSwift is a 7 years old project and the Observable type is that-many-years-old (or even more, if you consider Reactive Extensions as a specification), so forcing all of these thousands-to-10s of thousands of consumers to rename the type is quite unreasonable, scale-wise.

It was suggested adding a typealias Observable = RxSwift.Observable to fix the issue but for our use case it didn't work and we aren't sure why, but it also wouldn't be scalable when you have 100s of modules.

I wondered if this is something you're aware of, and if there is any discussion of fixing this by either renaming Observable to something else, or at least revert the re-export of Observation.

Thanks :pray:

7 Likes