On Tuesday, 16 July 2013 at 01:24:37 UTC, Jonathan M Davis wrote:
On Monday, July 15, 2013 21:08:03 Dicebot wrote:
On Monday, 15 July 2013 at 18:39:08 UTC, JS wrote:
> and immutability doesn't nest. immutable struct A { struct B > {
> }}, struct B is mutable.

What I have meant by "may be intended behavior" is that immutable qualifier does not attach at aggregate definitions. At all. It is
irrelevant to the fact if B is nested or not.

Yes. Attributes such as immutable or private have no effect on structs or classes, just their members. It's a bit weird that way, but that's the way
that it works.

Then we should be able to make a struct immutable itself. e.g., immutable immutable(struct) A makes both A and it's members immutable. An immutable struct makes nested structs also immutable.

However, I have just checked and adding a member field to B also
leaves it mutable. And that is really frustrating.

That definitely sounds like a bug.

- Jonathan M Davis

Reply via email to