September 21, 2016
https://issues.dlang.org/show_bug.cgi?id=14251

--- Comment #20 from Andrei Alexandrescu <andrei@erdani.com> ---
(In reply to Martin Nowak from comment #17)
> Not allowing to put any class into read-only segments, just b/c someone
> might want to synchronize on it, is not very convincing.
> Also remember that we wanted to get rid of the extra 8-byte for monitor
> unless explicitly requested
> http://forum.dlang.org/post/xpliectmvwrwthamquke@forum.dlang.org.

Fair enough.

--
September 22, 2016
https://issues.dlang.org/show_bug.cgi?id=14251

--- Comment #21 from Martin Nowak <code@dawg.eu> ---
(In reply to Andrei Alexandrescu from comment #19)
> > Just look at core.sync, none of the methods can be implemented const or pure, still they get called from const/pure code.
> 
> That's not a problem, the runtime is expected to contain nonportable code.

I'd say the real attribute problem is not the automatic mutex generated for
`synchronized (instance)`, b/c we can control how that behaves. But b/c it's
possible to assign an arbitrary Object.Monitor implementation, people can run
very different Mutex implementations.
As usual there is no deprecation path for adding attributes to an
interface/base-class, and the last time we tried to make Object.Monitor
nothrow, we broke valid use cases in vibe.d that we're using async/event-based
mutexes.

Now this bug report is about the effect that _d_monitorenter/exit do call any
Mutex implementation w/o checking for attributes.
We had so many problems w/ attributes and old C compiler-runtime APIs, and it
always boils down to this:

Forcing everyone to use the same attributes is too limiting/breaks code, let's replace the old C API w/ templated library code.

--
September 22, 2016
https://issues.dlang.org/show_bug.cgi?id=14251

--- Comment #22 from Andrei Alexandrescu <andrei@erdani.com> ---
(In reply to Martin Nowak from comment #21)
> Forcing everyone to use the same attributes is too limiting/breaks code, let's replace the old C API w/ templated library code.

Bestimmt!!!

--
January 23, 2021
https://issues.dlang.org/show_bug.cgi?id=14251

--- Comment #23 from Dlang Bot <dlang-bot@dlang.rocks> ---
@WalterBright updated dlang/dmd pull request #6092 "fix Issue 14251 -
synchronized (mtx) doesn't check attributes (pure, …" fixing this issue:

- fix Issue 14251 - synchronized (mtx) doesn't check attributes (pure, const)

https://github.com/dlang/dmd/pull/6092

--
February 08, 2022
https://issues.dlang.org/show_bug.cgi?id=14251

moonlightsentinel@disroot.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://issues.dlang.org/sh
                   |                            |ow_bug.cgi?id=22748

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=14251

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P3

--
1 2 3
Next ›   Last »