blob: b961690a2bc12bff91a9a61515ae9dbbcd9c615e [file] [log] [blame]
// https://issues.dlang.org/show_bug.cgi?id=23181
void main()
{
int count;
struct HasDtor
{
~this() { ++count; }
}
// array[] = elem()
// -> creates temporary to construct array and calls destructor.
{
count = 0;
HasDtor[4] dtor1 = HasDtor();
assert(count == 1);
}
assert(count == 5);
// array[] = array[elem()]
// -> constructs array using direct emplacement.
{
count = 0;
HasDtor[2] dtor2 = [HasDtor(), HasDtor()];
assert(count == 0);
}
assert(count == 2);
}