https://issues.dlang.org/show_bug.cgi?id=16117
Issue ID: 16117
Summary: std.experimental.alloctor does not work with non
default constructible types
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: normal
Priority: P1
Component: phobos
Assignee: [email protected]
Reporter: [email protected]
See https://forum.dlang.org/post/[email protected] for more
information
Test case:
import std.experimental.allocator;
struct Foo{
@disable this();
}
auto foos = theAllocator.makeArray!Foo(100);
Error messsage:
../../.dub/packages/experimental_allocator-2.70.0-b1/src/std/experimental/allocator/package.d(576,34):
Error: variable
std.experimental.allocator.uninitializedFillDefault!(Foo).uninitializedFillDefault.t
default construction is disabled for type immutable(Foo)
../../.dub/packages/experimental_allocator-2.70.0-b1/src/std/experimental/allocator/package.d(612,36):
Error: template instance
std.experimental.allocator.uninitializedFillDefault!(Foo) error instantiating
source/breeze/util/algebraic.d(91,43): instantiated from here:
makeArray!(Foo, IAllocator)
--