mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
The PR https://github.com/angular/angular/pull/52465 introduced short-circuit for the signal equality invocation - with the reasoning that the equality function should never return false for arguments with the same references. In practice it turned out that it is rather surprising and the subsequent PR https://github.com/angular/angular/pull/52532 added a warning when the short-circuit was taking priority over the equality function. Still, the presence of the short-circuit prevents people from mutating objects in place and based on https://github.com/angular/angular/issues/52735 this is a common and desired scenario. This change removes the short-circuit altogether and thus fixes the mentioned issue. We do recognize that removing short-circuit exposes developers to the potentially surprising logic where mutated in-place change won't be propagated throug the reactivity graph (due to the deault equality function). But we assume that this might be less surprising / more desirable as compared to the short-circuit logic. Fixes #52735 PR Close #53446 |
||
|---|---|---|
| .. | ||
| BUILD.bazel | ||
| computed_spec.ts | ||
| effect_util.ts | ||
| glitch_free_spec.ts | ||
| is_signal_spec.ts | ||
| non_reactive_spec.ts | ||
| signal_spec.ts | ||
| watch_spec.ts | ||