SE-0395: Observability

This comment from the second pitch has been left unaddressed.

To sum up: user code has no way to know when observation has actually started, so user code has no way to know when it can start modifying a value with the guarantee that changes will be notified. In other words: the proposal, as is, has an unaddressed problem of "missing frames".

This is a fundamental flaw in the proposal, in my opinion.

Maybe this race can be avoided with withTracking - but I'm not sure this is ergonomic, or even possible.

Pretty strong -1 for me, until practical use cases have been considered and studied in-depth. For example, I suggest considering use cases of UIKit/AppKit applications, because SwiftUI is not the only GUI framework used by developers.

13 Likes