Doug McCluer
12/11/2025, 5:48 PM@Stable . The docs say:
When applied to a class or an interface, `Stable` indicates that the following must be true:
1. The result of `equals` will always return the same result for the same two instances.
2. When a public property of the type changes, composition will be notified.
3. All public property types are stable.
• For #1, I'm familiar with how equals works and can answer this.
• Regarding #2, I'm less sure, because I don't know how notification works under the hood. Is it safe to assume that if a public property changes in such a way that using equals would evaluate false when comparing the before and after, then that means composition will always be notified about the change?Melody Horn
12/11/2025, 6:21 PMequals, it needs to be backed by a MutableState for 2 to holdMelody Horn
12/11/2025, 6:22 PMMutableState to tie into the composition notification system, but that’s the most common as far as i knowDoug McCluer
12/11/2025, 6:41 PMequals, then can I assume #2 is met?jw
12/11/2025, 7:03 PMDoug McCluer
12/11/2025, 8:37 PMjw
12/11/2025, 8:37 PMMutableState, not necessary MutableState itself.Melody Horn
12/11/2025, 8:39 PMequals then 1 means your class needs to be fully immutableZach Klippenstein (he/him) [MOD]
12/12/2025, 1:07 AMStateObject, not necessarily MutableState (eg SnapshotStateList is the former not the latter)Zach Klippenstein (he/him) [MOD]
12/12/2025, 1:09 AMDoug McCluer
12/12/2025, 1:13 AMColton Idle
12/12/2025, 9:36 PMZach Klippenstein (he/him) [MOD]
12/12/2025, 10:07 PM