comparison test/bug-55758/bug-55758.tst @ 26924:ab9520ef3895

ensure classdef dtor doesn't wipe out expression value (bug #53844, bug #55758) * pt-eval.cc (tree_evaluator::visit_index_expression): Delete any temporary values from intermediate expression evaluations prior to pushing final result value(s). * test/bug-55758/bug-55758.tst, test/bug-55758/class_bug_55758.m, test/bug-55758/module.mk: New files.
author John W. Eaton <jwe@octave.org>
date Fri, 15 Mar 2019 17:26:12 +0000
parents
children 2838bbd84b87
comparison
equal deleted inserted replaced
26923:c81b471cdb28 26924:ab9520ef3895
1 %!test
2 %! global class_bug_55758_dtor_called
3 %! class_bug_55758_dtor_called = false;
4 %!
5 %! assert (class_bug_55758 (5).value, 5);
6 %! assert (class_bug_55758_dtor_called);
7 %!
8 %! assert (class_bug_55758 (5)(1), 5);
9 %! assert (class_bug_55758_dtor_called);
10 %!
11 %! assert (size (class_bug_55758 (5)), [1, 1]);
12 %! assert (class_bug_55758_dtor_called);
13 %!
14 %! assert (numel (class_bug_55758 (5)), 1);
15 %! assert (class_bug_55758_dtor_called);
16 %! clear -global class_bug_55758_dtor_called; # cleanup after test