Avatar
値型の observation はうまく機能しないと思います。たとえば、 var a: Foo = .init() var b: Foo = a withObservationTraking { print(a.x) } onChange: { print("onChange") } b.x = 42onChange が呼ばれるのか。呼ばれるなら、異なるインスタンスである ab の observation が混ざってて変だし(このあと、 a.x = -1 を実行するとどうなるのか)、呼ばれないならコピーされたら(たとえば computed property を介して Fooreturn されたら)観測できなくなる。 (edited)