[Issue 24847] New: std.concurrency.initOnce does not work with -preview=nosharedaccess

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Nov 7 10:51:58 UTC 2024


https://issues.dlang.org/show_bug.cgi?id=24847

          Issue ID: 24847
           Summary: std.concurrency.initOnce does not work with
                    -preview=nosharedaccess
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: phobos
          Assignee: nobody at puremagic.com
          Reporter: sludwig at outerproduct.org

---
import std.concurrency;
class C {}
shared C instance;
void main()
{
        auto obj = initOnce!instance(new C);
}
---

When compiling with DMD 2.109.1 and `-preview=nosharedaccess`, results in:

/dlang/dmd/linux/bin64/../../src/phobos/std/concurrency.d(2751): Error: direct
access to shared `mutex` is not allowed, see `core.atomic`
/dlang/dmd/linux/bin64/../../src/phobos/std/concurrency.d(2755): Error: direct
access to shared `instance` is not allowed, see `core.atomic`
/dlang/dmd/linux/bin64/../../src/phobos/std/concurrency.d(2684): Error:
template instance `std.concurrency.initOnce!(instance)` error instantiating
onlineapp.d(6):        instantiated from here: `initOnce!(instance)`

--


More information about the Digitalmars-d-bugs mailing list