summaryrefslogtreecommitdiffstats
path: root/Tools/clinic/libclinic
diff options
context:
space:
mode:
authorneonene <53406459+neonene@users.noreply.github.com>2024-04-17 20:43:29 (GMT)
committerGitHub <noreply@github.com>2024-04-17 20:43:29 (GMT)
commitc1d7147c820545bb0a97a072fdba82154fd97ab6 (patch)
tree2e73a51fc04ee0a6add03c305d83df80293d547a /Tools/clinic/libclinic
parenta4b44d39cd6941cc03590fee7538776728bdfd0a (diff)
downloadcpython-c1d7147c820545bb0a97a072fdba82154fd97ab6.zip
cpython-c1d7147c820545bb0a97a072fdba82154fd97ab6.tar.gz
cpython-c1d7147c820545bb0a97a072fdba82154fd97ab6.tar.bz2
gh-117613: Argument Clinic: disallow defining class parameter at module level (#117950)
Diffstat (limited to 'Tools/clinic/libclinic')
-rw-r--r--Tools/clinic/libclinic/dsl_parser.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/Tools/clinic/libclinic/dsl_parser.py b/Tools/clinic/libclinic/dsl_parser.py
index 56c6dca..cb18374 100644
--- a/Tools/clinic/libclinic/dsl_parser.py
+++ b/Tools/clinic/libclinic/dsl_parser.py
@@ -1102,6 +1102,8 @@ class DSLParser:
fail("A 'defining_class' parameter cannot have a default value.")
if self.group:
fail("A 'defining_class' parameter cannot be in an optional group.")
+ if self.function.cls is None:
+ fail("A 'defining_class' parameter cannot be defined at module level.")
kind = inspect.Parameter.POSITIONAL_ONLY
else:
fail("A 'defining_class' parameter, if specified, must either "