summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorA Thousand Ships <96648715+AThousandShips@users.noreply.github.com>2024-04-13 17:23:25 +0200
committerA Thousand Ships <96648715+AThousandShips@users.noreply.github.com>2024-04-13 17:32:33 +0200
commit80cb914e064809e5440b8747a508547fc11c77de (patch)
tree604e88887cd3cb5d2e5ebc63fc6cc3345082c108
parent43b32f9d0baa13ef8e7079521fbef7c4f090aa88 (diff)
downloadredot-engine-80cb914e064809e5440b8747a508547fc11c77de.tar.gz
[Core] Fix incorrect comparison for `Array` const iterator
-rw-r--r--core/variant/array.h2
-rw-r--r--tests/core/variant/test_array.h4
2 files changed, 5 insertions, 1 deletions
diff --git a/core/variant/array.h b/core/variant/array.h
index d45a6887e2..3aa957b312 100644
--- a/core/variant/array.h
+++ b/core/variant/array.h
@@ -54,7 +54,7 @@ public:
_FORCE_INLINE_ ConstIterator &operator--();
_FORCE_INLINE_ bool operator==(const ConstIterator &p_other) const { return element_ptr == p_other.element_ptr; }
- _FORCE_INLINE_ bool operator!=(const ConstIterator &p_other) const { return element_ptr == p_other.element_ptr; }
+ _FORCE_INLINE_ bool operator!=(const ConstIterator &p_other) const { return element_ptr != p_other.element_ptr; }
_FORCE_INLINE_ ConstIterator(const Variant *p_element_ptr, Variant *p_read_only = nullptr) :
element_ptr(p_element_ptr), read_only(p_read_only) {}
diff --git a/tests/core/variant/test_array.h b/tests/core/variant/test_array.h
index 287345e831..c54854e4d7 100644
--- a/tests/core/variant/test_array.h
+++ b/tests/core/variant/test_array.h
@@ -555,6 +555,8 @@ TEST_CASE("[Array] Iteration") {
idx++;
}
+ CHECK_EQ(idx, a1.size());
+
idx = 0;
for (const Variant &E : (const Array &)a1) {
@@ -562,6 +564,8 @@ TEST_CASE("[Array] Iteration") {
idx++;
}
+ CHECK_EQ(idx, a1.size());
+
a1.clear();
}