Improve error messages for lambda functions without a body

This commit is contained in:
Aaron Franke 2025-08-12 19:32:13 -07:00
parent 0c51ede243
commit b73597292b
No known key found for this signature in database
GPG key ID: 40A1750B977E56BF
3 changed files with 15 additions and 8 deletions

View file

@ -37,5 +37,8 @@ class Test4 extends AbstractClass:
@abstract @abstract class DuplicateAbstract:
pass
func holding_some_invalid_lambda(invalid_default_arg = func():):
var some_invalid_lambda = (func():)
func test():
pass

View file

@ -2,10 +2,12 @@ GDTEST_ANALYZER_ERROR
>> ERROR at line 37: "@abstract" annotation can only be used once per class.
>> ERROR at line 28: "@abstract" annotation can only be used once per function.
>> ERROR at line 35: "@abstract" annotation cannot be applied to static functions.
>> ERROR at line 40: A lambda function must have a ":" followed by a body.
>> ERROR at line 41: A lambda function must have a ":" followed by a body.
>> ERROR at line 11: Class "Test1" is not abstract but contains abstract methods. Mark the class as "@abstract" or remove "@abstract" from all methods in this class.
>> ERROR at line 14: Class "Test2" must implement "AbstractClass.some_func()" and other inherited abstract methods or be marked as "@abstract".
>> ERROR at line 17: Class "Test3" must implement "AbstractClassAgain.some_func()" and other inherited abstract methods or be marked as "@abstract".
>> ERROR at line 22: Cannot call the parent class' abstract function "some_func()" because it hasn't been defined.
>> ERROR at line 25: Cannot call the parent class' abstract function "some_func()" because it hasn't been defined.
>> ERROR at line 32: Abstract function cannot have a body.
>> ERROR at line 32: An abstract function cannot have a body.
>> ERROR at line 35: A function must either have a ":" followed by a body, or be marked as "@abstract".