summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/functional/r/regression_02/regression_3866.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/functional/r/regression_02/regression_3866.py b/tests/functional/r/regression_02/regression_3866.py
new file mode 100644
index 000000000..f23a170d1
--- /dev/null
+++ b/tests/functional/r/regression_02/regression_3866.py
@@ -0,0 +1,47 @@
+# pylint: disable=missing-module-docstring, missing-docstring
+# pylint: disable=invalid-name
+
+# These trigger the bug
+def lambda_with_args():
+ variable = 1
+ return lambda *_, variable=variable: variable + 1
+
+
+def lambda_with_args_kwargs():
+ variable = 1
+ return lambda *_, variable=variable, **_kwargs: variable + 1
+
+
+def lambda_with_args_and_multi_args():
+ variable = 1
+ return lambda *_, a, variable=variable: variable + a
+
+
+# The rest of these do not trigger the bug
+def lambda_with_multi_args():
+ variable = 1
+ return lambda a, variable=variable: variable + a
+
+
+def lambda_without_args():
+ variable = 1
+ return lambda variable=variable: variable + 1
+
+
+def lambda_with_kwargs():
+ variable = 1
+ return lambda variable=variable, **_: variable + 1
+
+
+def func_def():
+ variable = 1
+
+ def f(*_, variable=variable):
+ return variable + 1
+
+ return f
+
+
+def different_name():
+ variable = 1
+ return lambda *args, var=variable: var + 1