On Fri, July 26, 2024 at 12:25 Larry Garfield wrote: > Voting for Asymmetric Visibility is now open. > > https://wiki.php.net/rfc/asymmetric-visibility-v2
Hi Larry and Ilija, Thank you for all your work on this RFC! One part that doesn't make sense to me is this sentence near the end in the "Readonly is incompatible with inheritance" section: > With asymmetric visibility, the `readonly` usage here can be replaced with > `protected protected(set)` or `readonly protected protected(set)`, avoiding > the need to double-declare properties. `protected protected(set)` just removes readonly, and is the same as `protected`, right? So couldn't such a change be done now without asymmetric visibility? And the change to `protected protected(set) readonly` as shown in the example also seems unnecessary, since earlier in the RFC it says that readonly will be changed to imply `protected(set)` rather than `private(set)`. So it seems that no change is needed to the abstract class here - the properties can remain `protected readonly`, and the implementation can be simplified since readonly properties will now imply `protected(set)`. Or have I misunderstood something here? Thanks, Theodore