I'm want to "play" a bit with thread syncronization...
So this is a (big) part of my code. The other is the imports, the
thread starting and the printing of x.
shared int x;
shared Semaphore sema;
void main(string[] args)
{
auto t1 = new Thread(&f);
auto t2 = new Thread(&g);
sema = new Semaphore(1); // error here
The error is: Error: cannot implicitly convert expression (new
Semaphore(1u)) of type core.sync.semaphore.Semaphore to
shared(Semaphore)
I understand what the error means, I just don't know how to fix
it (to make it explicit). I tried new shared (Semaphore(1)) but
doesn't work.