summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/tests/scripts/runtime
diff options
context:
space:
mode:
authorDanil Alexeev <danil@alexeev.xyz>2024-03-28 21:57:56 +0300
committerDanil Alexeev <danil@alexeev.xyz>2024-03-30 23:25:30 +0300
commit27d7760f41d0c819075db37d3234d2587092e682 (patch)
tree643c581e3b36f79fb1b7ddf3199c0f9dd0dd6ebc /modules/gdscript/tests/scripts/runtime
parent86415f02452dbf6de85325d3321fd7ec7fba9e94 (diff)
downloadredot-engine-27d7760f41d0c819075db37d3234d2587092e682.tar.gz
GDScript: Fix uninitialized local variables not being reset
Diffstat (limited to 'modules/gdscript/tests/scripts/runtime')
-rw-r--r--modules/gdscript/tests/scripts/runtime/features/reset_uninit_local_vars.gd21
-rw-r--r--modules/gdscript/tests/scripts/runtime/features/reset_uninit_local_vars.out4
2 files changed, 25 insertions, 0 deletions
diff --git a/modules/gdscript/tests/scripts/runtime/features/reset_uninit_local_vars.gd b/modules/gdscript/tests/scripts/runtime/features/reset_uninit_local_vars.gd
new file mode 100644
index 0000000000..b676ece24b
--- /dev/null
+++ b/modules/gdscript/tests/scripts/runtime/features/reset_uninit_local_vars.gd
@@ -0,0 +1,21 @@
+# GH-89958
+
+func test():
+ if true:
+ @warning_ignore("unused_variable")
+ var a = 1
+ @warning_ignore("unused_variable")
+ var b := 1
+ @warning_ignore("unused_variable")
+ var c := 1
+
+ if true:
+ @warning_ignore("unassigned_variable")
+ var a
+ print(a)
+ @warning_ignore("unassigned_variable")
+ var b
+ print(b)
+ @warning_ignore("unassigned_variable")
+ var c: Object
+ print(c)
diff --git a/modules/gdscript/tests/scripts/runtime/features/reset_uninit_local_vars.out b/modules/gdscript/tests/scripts/runtime/features/reset_uninit_local_vars.out
new file mode 100644
index 0000000000..279ea2d3b1
--- /dev/null
+++ b/modules/gdscript/tests/scripts/runtime/features/reset_uninit_local_vars.out
@@ -0,0 +1,4 @@
+GDTEST_OK
+<null>
+<null>
+<null>