inout/const issue: assignments to field not allowed if field initializer present
Timon Gehr
timon.gehr at gmx.ch
Sun Mar 11 03:06:56 PDT 2012
On 03/11/2012 02:46 AM, Andrej Mitrovic wrote:
> It took me a while to narrow this down:
>
> struct Foo
> {
> int val = int.init;
> this(inout(int) nval) inout {
> this.val = nval;
> }
> }
>
> test.d(18): Error: cannot modify const/immutable/inout expression this.val
>
> Is there any special reason why this should be disallowed? I mean the
> same thing happens if you do a void initialization: int val = void;
>
> A bug?
That a void-initialized field cannot be initialized is certainly a bug.
More information about the Digitalmars-d-learn
mailing list