On 17.10.2011 14:24, Gor Gyolchanyan wrote:
The shared keyword makes it's user regret ever trying to use it.
This keyword has a single purpose: it generates frustration at compile-time.
Enough with the emotions.
I'm trying to make a Win32 multi-threaded warpper, which allows to
efficiently create Win32 windows, that immediately start processing
their messages in a separate thread (which will eventually get
migrated into a thread pool).
As i was trying to deal with the shared-ness, i found out about this:

shared class T
{
        alias void* v;

I guess the problem is here: v is void * and not shared at all. Alias is not affected by outer shared decl, shared applies only to members: fields and functions. In a sense, an alias is merely using the same name scope. Imagine if you semantics (i.e. shared affects aliases) worked, then how would you declare a *not* shared type alias inside of it ?
This won't work:
        alias Unqual!(void*) v;

--
Dmitry Olshansky

Reply via email to