October 20, 2014
https://issues.dlang.org/show_bug.cgi?id=6380

Marco Leise <Marco.Leise@gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |Marco.Leise@gmx.de

--- Comment #1 from Marco Leise <Marco.Leise@gmx.de> ---
That only works well when you don't use your own synchronization. Otherwise you may protect stuff in one shared method with your own mutex, and one some other method you forgot to mark shared, the object's hidden monitor mutex is used, allowing for two threads to modify the data in parallel.

Just imagine what would happen in this code:

auto cond = cast(shared) new Condition(new Mutex);
synchronized (cond.mutex)
{
   ...
}

... And you just created a new Mutex to protect the Mutex that protects your critical section.

--
July 21, 2017
https://issues.dlang.org/show_bug.cgi?id=6380

Vladimir Panteleev <dlang-bugzilla@thecybershadow.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |WONTFIX

--- Comment #2 from Vladimir Panteleev <dlang-bugzilla@thecybershadow.net> ---
I believe that today enhancement requests to the language itself need to be presented as a D Improvement Proposal:

https://github.com/dlang/DIPs

If you think this proposal still has merit today, please file a DIP. The current DIP manager can assist you through the process.

Closing (also because this issue is over 6 years old and there has been no reply to Marco's comment above.)

--