From 583baa8fef6b69d32b8c41b777c879e387ea46e3 Mon Sep 17 00:00:00 2001 From: Larry Hastings Date: Sun, 12 Jan 2014 08:49:30 -0800 Subject: [PATCH] Issue #20196: Fixed a bug where Argument Clinic did not generate correct parsing code for functions with positional-only parameters where all arguments are optional. --- Misc/NEWS | 4 ++++ Tools/clinic/clinic.py | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/Misc/NEWS b/Misc/NEWS index d73137eb40a..d6be619d2f1 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -72,6 +72,10 @@ Tests Tools/Demos ----------- +- Issue #20196: Fixed a bug where Argument Clinic did not generate correct + parsing code for functions with positional-only parameters where all arguments + are optional. + - Issue #18960: 2to3 and the findnocoding.py script now ignore the source encoding declaration on the second line if the first line contains anything except a comment. diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index 421b9e3d396..cd7c597f533 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -591,6 +591,12 @@ static {impl_return_type} count_min = min(count_min, count) count_max = max(count_max, count) + if count == 0: + add(""" case 0: + break; +""") + continue + group_ids = {p.group for p in subset} # eliminate duplicates d = {} d['count'] = count