Sample code: --- void main() { import std.typecons : RefCounted, RefCountedAutoInitialize; static struct NoDefaultCtor { @disable this(); this(int x) { this.x = x; } int x; } auto rc = RefCounted!(NoDefaultCtor, RefCountedAutoInitialize.no)(5); assert(rc.x == 5); } --- Currently fails to compile with: [...]/src/phobos/std/conv.d(4488): Error: static assert: "Cannot emplace a NoDefaultCtor because NoDefaultCtor.this() is annotated with @disable."
@n8sh created dlang/phobos pull request #7797 "std.typecons.Refcounted!(T, RefCountedAutoInitialize.no) should still work when T.this() is annotated with `@disable`" fixing this issue: - Fix Issue 21638 - std.typecons.Refcounted!(T, RefCountedAutoInitialize.no) should still work when T.this() is annotated with `@disable` https://github.com/dlang/phobos/pull/7797
dlang/phobos pull request #7797 "std.typecons.RefCounted!(T, RefCountedAutoInitialize.no) should still work when T.this() is annotated with `@disable`" was merged into master: - 35035d4cfe239cdbf07b30015fbba143313d75e3 by Nathan Sashihara: Fix Issue 21638 - std.typecons.RefCounted!(T, RefCountedAutoInitialize.no) should still work when T.this() is annotated with `@disable` https://github.com/dlang/phobos/pull/7797