> void main() {
>     shared s1 = cast(shared)new S();
>     s1.onlyShared(); // ok
>     //s1.notShared(); // error: not callable using argument types () shared
>     auto s2 = new S();
>     //s2.onlyShared(); // error: not callable using argument types ()
>     s2.notShared(); // ok
> }

I would rather prefer "auto s1 = new shared(S);" because "shared s1 =
new S();" seems to allocate a TLS variable which is then casted to
shared which is actually non-TLS.

Reply via email to