September 21, 2016 [Issue 14251] synchronized (mtx) doesn't check attributes (pure, const) | ||||
---|---|---|---|---|
| ||||
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 [Issue 14251] synchronized (mtx) doesn't check attributes (pure, const) | ||||
---|---|---|---|---|
| ||||
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 [Issue 14251] synchronized (mtx) doesn't check attributes (pure, const) | ||||
---|---|---|---|---|
| ||||
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 [Issue 14251] synchronized (mtx) doesn't check attributes (pure, const) | ||||
---|---|---|---|---|
| ||||
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 [Issue 14251] synchronized (mtx) doesn't check attributes (pure, const) | ||||
---|---|---|---|---|
| ||||
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 [Issue 14251] synchronized (mtx) doesn't check attributes (pure, const) | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14251 Iain Buclaw <ibuclaw@gdcproject.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P1 |P3 -- |
Copyright © 1999-2021 by the D Language Foundation