diff options
Diffstat (limited to 'tests/functional/u/undefined/undefined_variable_py38.py')
-rw-r--r-- | tests/functional/u/undefined/undefined_variable_py38.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/functional/u/undefined/undefined_variable_py38.py b/tests/functional/u/undefined/undefined_variable_py38.py index 818423c8e..950d17fb4 100644 --- a/tests/functional/u/undefined/undefined_variable_py38.py +++ b/tests/functional/u/undefined/undefined_variable_py38.py @@ -3,6 +3,7 @@ # Tests for annotation of variables and potentially undefinition + def typing_and_assignment_expression(): """The variable gets assigned in an assignment expression""" var: int @@ -15,3 +16,35 @@ def typing_and_self_referncing_assignment_expression(): var: int if (var := var ** 2): # [undefined-variable] print(var) + + +def typed_assignment_in_function_default(param: str = (typed_default := "walrus")) -> None: + """An annotated assignment expression in a default parameter should not emit""" + return param + + +print(typed_default) + + +def assignment_in_function_default(param = (default := "walrus")) -> None: + """An assignment expression in a default parameter should not emit""" + return param + + +print(default) + + +def no_assignment_in_function_default(param: str = "walrus") -> None: + """No annotated assignment expression should emit""" + return param + + +print(no_default) # [undefined-variable] + + +def no_parameters_in_function_default() -> None: + """Regression tests for functions without any parameters""" + return + + +print(again_no_default) # [undefined-variable] |