digitalmars.D.bugs - [Issue 23158] New: synchronized class data is not locked in free
- d-bugmail puremagic.com (27/27) Jun 04 2022 https://issues.dlang.org/show_bug.cgi?id=23158
https://issues.dlang.org/show_bug.cgi?id=23158 Issue ID: 23158 Summary: synchronized class data is not locked in free function in same module Product: D Version: D2 Hardware: x86 OS: Windows Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: nick geany.org synchronized class C { private int i; } public void foo(C c) { c.i++; } $ dmd -vasm -c old/syncclass.d _D9syncclass3fooFCQq1CZv: 0000: FF 40 08 inc dword ptr 8[EAX] 0003: C3 ret foo just incremented `c.i` without locking `c`. Field access should probably be an error outside a `synchronized (c)` statement, unless `c` is `shared`. --
Jun 04 2022