diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-06-28 15:55:05 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-06-28 15:55:05 +0200 |
commit | 47776856d6831d03c961663c95b030aaa9cbfd0c (patch) | |
tree | 459b6ddeaa9aaf375b782f88824131d43de9fda4 /modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.gd | |
parent | 52d7ff86f76d7aeb7ce5fe1fe1c92770a6dffa9f (diff) | |
parent | d15ed0bcbb17284289146da53fff7e29bef71223 (diff) | |
download | redot-engine-47776856d6831d03c961663c95b030aaa9cbfd0c.tar.gz |
Merge pull request #93699 from dalexeev/gds-fix-false-positive-capture-warnings
GDScript: Fix false positive `CONFUSABLE_CAPTURE_REASSIGNMENT` warnings
Diffstat (limited to 'modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.gd')
-rw-r--r-- | modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.gd | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.gd b/modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.gd index b1accbe628..9e1041db54 100644 --- a/modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.gd +++ b/modules/gdscript/tests/scripts/analyzer/warnings/confusable_capture_reassignment.gd @@ -5,23 +5,19 @@ func test(): var string := "1" var vector := Vector2i(1, 0) var array_assign := [1] - var array_append := [1] - var f := func (): - member = 2 - number = 2 - string += "2" - vector.x = 2 - array_assign = [2] - array_append.append(2) - var g := func (): - member = 3 - number = 3 - string += "3" - vector.x = 3 - array_assign = [3] - array_append.append(3) - prints("g", member, number, string, vector, array_assign, array_append) - g.call() - prints("f", member, number, string, vector, array_assign, array_append) - f.call() - prints("test", member, number, string, vector, array_assign, array_append) + var array_index := [1] + var dictionary := { x = 0 } + + var lambda := func (): + member = 2 # Member variable, not captured. + number = 2 # Local variable, captured. + string += "2" # Test compound assignment operator. + vector.x = 2 # Test subscript assignment. + array_assign = [2] # Pass-by-reference type, reassignment. + array_index[0] = 2 # Pass-by-reference type, index access. + dictionary.x = 2 # Pass-by-reference type, attribute access. + + prints("lambda", member, number, string, vector, array_assign, array_index, dictionary) + + lambda.call() + prints("outer", member, number, string, vector, array_assign, array_index, dictionary) |