On Friday, 31 May 2013 at 21:01:49 UTC, Andrey wrote:
Hello!

I'm trying to use following code:

<======================================>
//...

class A
{
        private
        {
                int m_someVar = 10;
        }

        public
        {
                this()
                {
                }
        }
}


int main(string[] args)
{
        shared A a = null;
        a = new shared(A)(); // error.

        return 0;
}
<======================================>

And on compile time, the compiler says "Error: non-shared method main.A.this is not callable using a shared object". How can I use an objects as shared, which classes were not defined with "synchronized" or "shared" keyword?


Thanks.

To create a shared object you need shared this ctor.

immutable this() for immutable,

and const this() for const.

Check out the change log.  #2 on the list.

Reply via email to