diff --git a/liboctave/array/Sparse.cc b/liboctave/array/Sparse.cc --- a/liboctave/array/Sparse.cc +++ b/liboctave/array/Sparse.cc @@ -2686,21 +2686,21 @@ Array Sparse::array_value () const { - NoAlias< Array> retval (dims (), T ()); + Array retval (dims (), T ()); if (rows () == 1) { octave_idx_type i = 0; for (octave_idx_type j = 0, nc = cols (); j < nc; j++) { if (cidx (j+1) > i) - retval(j) = data (i++); + retval.xelem (j) = data (i++); } } else { for (octave_idx_type j = 0, nc = cols (); j < nc; j++) for (octave_idx_type i = cidx (j), iu = cidx (j+1); i < iu; i++) - retval(ridx (i), j) = data (i); + retval.xelem (ridx (i), j) = data (i); } return retval;