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: [email protected]
Reporter: [email protected]
---
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)`
--