dmd/compiler/test/runnable/test19386.d
2022-07-09 18:53:07 +02:00

36 lines
390 B
D

struct Thing
{
this(int* i)
{
ptr = i;
(*ptr)++;
}
~this()
{
(*ptr)--;
}
T opCast(T : bool)()
{
return false;
}
int* ptr;
}
Thing makeThing(int* p)
{
return Thing(p);
}
void main()
{
int i;
{
if (auto t = makeThing(&i)) // destructor not called
{
}
}
assert(i == 0);
}