On Tue, Jun 15, 2021 at 5:06 PM Nikita Popov <nikita....@gmail.com> wrote:
> On Fri, Jun 11, 2021 at 5:02 PM Larry Garfield <la...@garfieldtech.com> > wrote: > >> On Wed, Mar 3, 2021, at 9:03 AM, Nikita Popov wrote: >> > Hi internals, >> > >> > I would like to propose allowing the use of "new" inside various >> > initializer expressions: https://wiki.php.net/rfc/new_in_initializers >> > >> > In particular, this allows specifying object default values for >> properties >> > and parameters, and allows the use of objects as attribute arguments. >> > >> > The RFC is narrow in scope in that it only adds support for "new". An >> > extension to other call kinds should be straightforward though. >> > >> > Regards, >> > Nikita >> >> Hi Nikita. What's the status of this RFC? Are you going to bring it to >> a vote, or is something else blocking it? >> > > I've just pushed a larger update to the RFC, which limits the places where > new is supported. > > Supported: > * Parameter default values (includes promoted properties) > * Attribute arguments > * Static variable initializers > * Global constant initializers > > Not supported: > * Static and non-static property initializers > * Class constant initializers > > I believe the cases that are now supported should be completely > unambiguous and uncontroversial. The other cases have evaluation order > issues in one way or another. This is discussed in > https://wiki.php.net/rfc/new_in_initializers#unsupported_positions. > I plan to open voting on this RFC soon, with the current limitations in place. Based on the following discussion, there is interest in supporting static properties and class constants as well, but I don't think we're any closer to a consensus on how they should behave. Regards, Nikita