On 20 February 2018 at 11:25, Nikita Popov <nikita....@gmail.com> wrote:

> On Tue, Feb 20, 2018 at 12:20 PM, Silvio Marijić <marijic.sil...@gmail.com
> >
> wrote:
>
> > Hi,
> > I am starting this discussion again after a year since this RFC was
> > created. From discussions with people in the community some suggestions
> > came up regarding issues that were main reason that development on this
> RFC
> > stopped. RFC is updated along with implementation (link at the bottom of
> > RFC). I'll be more then happy to answer all questions.
>
>
> Link: https://wiki.php.net/rfc/immutability :)



This definitely seems like an exciting addition to the language. Some
clarifications:


This sentence in the RFC is rather confusing, "Any references to objects
... cannot be references to scalars ... or may be ...". I think it's just
reiterating things said elsewhere in the RFC, but could maybe be reworded?

>  Any references to objects passed into an immutable class constructor
cannot be references to scalars or may be immutable class instances.

A set of bullet points of what types can and can't be assigned to an
immutable property might be useful.


The example under "references" shows a reference being successfully taken
to an immutable property, but then being considered immutable itself. Is
there any performance penalty to tracking this extra state? I know
references have caused problems in other cases, like the typed properties
RFC.


What kind of error is produced when you attempt to write to an immutable
property? I would expect some sub-class of Error to be thrown, but the RFC
currently just says a fatal error.

As I say, I like the idea, and thanks for working on it.

Regards,
-- 
Rowan Collins
[IMSoP]

Reply via email to