@@ -277,7 +277,7 @@ void Array::push_back(const Variant &p_value) {
277277 ERR_FAIL_COND_MSG (_p->read_only , " Array is in read-only state." );
278278 Variant value = p_value;
279279 ERR_FAIL_COND (!_p->typed .validate (value, " push_back" ));
280- _p->array .push_back (value);
280+ _p->array .push_back (std::move ( value) );
281281}
282282
283283void Array::append_array (const Array &p_array) {
@@ -308,14 +308,14 @@ Error Array::insert(int p_pos, const Variant &p_value) {
308308 ERR_FAIL_COND_V_MSG (_p->read_only , ERR_LOCKED, " Array is in read-only state." );
309309 Variant value = p_value;
310310 ERR_FAIL_COND_V (!_p->typed .validate (value, " insert" ), ERR_INVALID_PARAMETER);
311- return _p->array .insert (p_pos, value);
311+ return _p->array .insert (p_pos, std::move ( value) );
312312}
313313
314314void Array::fill (const Variant &p_value) {
315315 ERR_FAIL_COND_MSG (_p->read_only , " Array is in read-only state." );
316316 Variant value = p_value;
317317 ERR_FAIL_COND (!_p->typed .validate (value, " fill" ));
318- _p->array .fill (value);
318+ _p->array .fill (std::move ( value) );
319319}
320320
321321void Array::erase (const Variant &p_value) {
@@ -485,7 +485,7 @@ void Array::set(int p_idx, const Variant &p_value) {
485485 Variant value = p_value;
486486 ERR_FAIL_COND (!_p->typed .validate (value, " set" ));
487487
488- operator []( p_idx) = value;
488+ _p-> array . write [ p_idx] = std::move ( value) ;
489489}
490490
491491const Variant &Array::get (int p_idx) const {
@@ -703,9 +703,7 @@ void Array::shuffle() {
703703 Variant *data = _p->array .ptrw ();
704704 for (int i = n - 1 ; i >= 1 ; i--) {
705705 const int j = Math::rand () % (i + 1 );
706- const Variant tmp = data[j];
707- data[j] = data[i];
708- data[i] = tmp;
706+ SWAP (data[i], data[j]);
709707 }
710708}
711709
@@ -732,7 +730,7 @@ void Array::push_front(const Variant &p_value) {
732730 ERR_FAIL_COND_MSG (_p->read_only , " Array is in read-only state." );
733731 Variant value = p_value;
734732 ERR_FAIL_COND (!_p->typed .validate (value, " push_front" ));
735- _p->array .insert (0 , value);
733+ _p->array .insert (0 , std::move ( value) );
736734}
737735
738736Variant Array::pop_back () {
0 commit comments