immutable struct/class is mutable!
JS
js.mdnq at gmail.com
Mon Jul 15 08:59:43 PDT 2013
On Monday, 15 July 2013 at 15:08:58 UTC, Dicebot wrote:
> On Monday, 15 July 2013 at 14:50:04 UTC, JS wrote:
>> Why does isMutable and isAssignable return true for a
>> struct/class that are immutable?
>>
>> immutable struct A { }
>>
>> isMutable!A returns true.
>
> looks like
>
> immutable struct A
> {
> int a;
> }
>
> acts as a
>
> struct A
> {
> immutable:
> int a;
> }
>
> Now, I don't see this use case (qualified aggregate definition)
> anywhere in spec and this may be intended behavior. But I do
> agree this looks misleading.
Yes, I need immutable to do what it does but also need a way to
emulate an enum.
This is because I need to constrain my templates properly. If
struct A isn't immutable then it is no different than any other
struct which is bad because I want only enum like structs.
maybe immutable immutable(struct) A would be a good way to
specify this.
An immutable struct should be similar to an enum... a purely
compile time construct not meant to be instantiated in any way.
More information about the Digitalmars-d-learn
mailing list