is my code to get CTFE instantiated object valid D ?
Steven Schveighoffer via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun May 29 04:51:34 PDT 2016
On Sunday, 29 May 2016 at 05:43:31 UTC, Mike Parker wrote:
> On Sunday, 29 May 2016 at 05:35:33 UTC, Mike Parker wrote:
>
>> Well then, this completely breaks my understanding of variable
>> scope.
>
> OK, I see now at [1] the following:
>
> " Immutable data doesn't have synchronization problems, so the
> compiler doesn't place it in TLS."
>
> I've read that page more than once, but I had forgotten this
> bit. Still, I don't see anything there about const. I would not
> expect const variables to behave the same way, given the weaker
> guarantee about modification. But if they are intended to
> behave that way, then, IMO, it should not be possible to
> reinitialize them in a static constructor.
>
> https://dlang.org/migrate-to-shared.html
It's reasonable to treat const variables like immutable when the
const variable has no indirections. However, it shouldn't allow
rewriting the variable in each thread ctor.
-Steve
More information about the Digitalmars-d-learn
mailing list