view 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
line wrap: on
line source

%!test
%! global class_bug_55758_dtor_called
%! class_bug_55758_dtor_called = false;
%!
%! assert (class_bug_55758 (5).value, 5);
%! assert (class_bug_55758_dtor_called);
%!
%! assert (class_bug_55758 (5)(1), 5);
%! assert (class_bug_55758_dtor_called);
%!
%! assert (size (class_bug_55758 (5)), [1, 1]);
%! assert (class_bug_55758_dtor_called);
%!
%! assert (numel (class_bug_55758 (5)), 1);
%! assert (class_bug_55758_dtor_called);
%! clear -global class_bug_55758_dtor_called;  # cleanup after test