shared and cryptic error messages

Jose Armando Garcia jsancio at gmail.com
Wed Mar 30 12:59:28 PDT 2011


import std.stdio;

class B
{
  private File file;
}
synchronized class A
{
  private File file;
}

void main()
{
}

/usr/include/d/dmd/phobos/std/stdio.d(292): Error: destructor
std.stdio.File.~this () is not callable using argument types ()

Why am I getting this error? I suspect that synchronized is the
problem. How do I get around this error? Does this mean that
synchronized classes are not allowed to have as member
unsynchronized/regular classes? Has anyone tried to write a
multithreaded application using D? Why is the error showing up in
std/stdio.d and not in my file? Can anyone point me to a decent
documentation of how "shared" works? I have read chapter 13 of The D
Programming Language and it is not sufficient for the level of
understanding I seek.

That is a lot of question. Hopefully I get answer to at least one.


More information about the Digitalmars-d mailing list