Indicator() : val(true) {
}
- ~Indicator() {
+ void reset() {
val = false;
}
auto raw_indicator = new Indicator[1];
{
Shape shape{1,1};
- auto mem = std::shared_ptr<Indicator>(raw_indicator, [](Indicator*& p){ delete[] p; });
+ auto mem = std::shared_ptr<Indicator>(raw_indicator, [](Indicator*& p){ p[0].reset(); });
t = new TensorVariant(shape, mem, TensorVariant::DTYPE::UNKNOWN);
//mem gets destroyed here
}
ASSERT_EQ(raw_indicator->val, true);
delete t;
ASSERT_EQ(raw_indicator->val, false);
+ delete[] raw_indicator;
}