From 532ffc30bdad3e0f279bbaaeb954ca994f98baa5 Mon Sep 17 00:00:00 2001 From: Dmitrii Maganov Date: Wed, 28 Dec 2022 07:41:03 +0200 Subject: GDScript: Fix typing of lambda functions --- modules/gdscript/tests/scripts/analyzer/errors/lambda_no_return.gd | 4 ++++ modules/gdscript/tests/scripts/analyzer/errors/lambda_no_return.out | 2 ++ modules/gdscript/tests/scripts/analyzer/errors/lambda_wrong_return.gd | 4 ++++ .../gdscript/tests/scripts/analyzer/errors/lambda_wrong_return.out | 2 ++ 4 files changed, 12 insertions(+) create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/lambda_no_return.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/lambda_no_return.out create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/lambda_wrong_return.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/lambda_wrong_return.out (limited to 'modules/gdscript/tests/scripts/analyzer/errors') diff --git a/modules/gdscript/tests/scripts/analyzer/errors/lambda_no_return.gd b/modules/gdscript/tests/scripts/analyzer/errors/lambda_no_return.gd new file mode 100644 index 0000000000..70973c33d4 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/lambda_no_return.gd @@ -0,0 +1,4 @@ +func test(): + var lambda := func() -> int: + print('no return') + lambda.call() diff --git a/modules/gdscript/tests/scripts/analyzer/errors/lambda_no_return.out b/modules/gdscript/tests/scripts/analyzer/errors/lambda_no_return.out new file mode 100644 index 0000000000..fe1472c54d --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/lambda_no_return.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Not all code paths return a value. diff --git a/modules/gdscript/tests/scripts/analyzer/errors/lambda_wrong_return.gd b/modules/gdscript/tests/scripts/analyzer/errors/lambda_wrong_return.gd new file mode 100644 index 0000000000..3c247a5b02 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/lambda_wrong_return.gd @@ -0,0 +1,4 @@ +func test(): + var lambda := func() -> int: + return 'string' + print(lambda.call()) diff --git a/modules/gdscript/tests/scripts/analyzer/errors/lambda_wrong_return.out b/modules/gdscript/tests/scripts/analyzer/errors/lambda_wrong_return.out new file mode 100644 index 0000000000..53e2b012e6 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/lambda_wrong_return.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Cannot return value of type "String" because the function return type is "int". -- cgit v1.2.3