You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Previously, the resolution of validators from property types and explicit
new resolution strategies required editing the class, and a class-typed
property annotated with #[Attributes] was validated twice — once by the
explicit-attribute branch and again by the declared-type branch — which
tripped the circular-reference guard on the second pass.
This commit moves that responsibility to a dedicated PropertyResolver
interface with composable implementations, so each strategy can be
developed and composed independently. The composite collapses duplicate
Attributes entries, ensuring each property is validated exactly once
even when multiple resolution paths produce the same instance. The
Attributes class is reduced to its single responsibility, and resolver
chains become pluggable through the constructor.
0 commit comments