diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-05-28 16:21:42 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-05-28 16:21:42 +0200 |
commit | dbc6f2af1d81e9539fdcf8b25bfbed8e0f465cef (patch) | |
tree | cc785a0f17c393f706d6f48078cc786cc5518538 /modules/gdscript/tests/scripts/runtime | |
parent | e408c77f5777448684e4e920454ef3885791523a (diff) | |
parent | 4b692959de8a70edb0ccaef2289570e7fe7a8203 (diff) | |
download | redot-engine-dbc6f2af1d81e9539fdcf8b25bfbed8e0f465cef.tar.gz |
Merge pull request #92241 from dalexeev/gds-fix-lambda-captures-non-local-vars
GDScript: Fix lambdas capturing non-local variables
Diffstat (limited to 'modules/gdscript/tests/scripts/runtime')
-rw-r--r-- | modules/gdscript/tests/scripts/runtime/features/lambda_captures.gd | 26 | ||||
-rw-r--r-- | modules/gdscript/tests/scripts/runtime/features/lambda_captures.out | 5 |
2 files changed, 31 insertions, 0 deletions
diff --git a/modules/gdscript/tests/scripts/runtime/features/lambda_captures.gd b/modules/gdscript/tests/scripts/runtime/features/lambda_captures.gd new file mode 100644 index 0000000000..bbdf745540 --- /dev/null +++ b/modules/gdscript/tests/scripts/runtime/features/lambda_captures.gd @@ -0,0 +1,26 @@ +# GH-92217 +# TODO: Add more tests. + +static var static_var: int: + set(value): + prints("set static_var", value) + get: + print("get static_var") + return 0 + +var member_var: int: + set(value): + prints("set member_var", value) + get: + print("get member_var") + return 0 + +func test(): + var lambda := func (): + var _tmp := static_var + _tmp = member_var + + static_var = 1 + member_var = 1 + + lambda.call() diff --git a/modules/gdscript/tests/scripts/runtime/features/lambda_captures.out b/modules/gdscript/tests/scripts/runtime/features/lambda_captures.out new file mode 100644 index 0000000000..0bdf74a43f --- /dev/null +++ b/modules/gdscript/tests/scripts/runtime/features/lambda_captures.out @@ -0,0 +1,5 @@ +GDTEST_OK +get static_var +get member_var +set static_var 1 +set member_var 1 |