From 74ea7f6e7023b51d5e827ca6a234512635050011 Mon Sep 17 00:00:00 2001 From: sharktide Date: Thu, 6 Mar 2025 19:01:46 -0500 Subject: [PATCH] gh-129545 Enhance error messages --- Lib/test/test_syntax.py | 8 ++++---- Parser/parser.c | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py index 707d4fc6df16ea..a95b11dabc768e 100644 --- a/Lib/test/test_syntax.py +++ b/Lib/test/test_syntax.py @@ -394,12 +394,12 @@ >>> def f(x, y=1, z): ... pass Traceback (most recent call last): -SyntaxError: parameter without a default follows parameter with a default +SyntaxError: positional parameter without a default follows parameter with a default >>> def f(x, /, y=1, z): ... pass Traceback (most recent call last): -SyntaxError: parameter without a default follows parameter with a default +SyntaxError: positional parameter without a default follows parameter with a default >>> def f(x, None): ... pass @@ -622,11 +622,11 @@ >>> lambda a,d=3,c: None Traceback (most recent call last): -SyntaxError: parameter without a default follows parameter with a default +SyntaxError: positional parameter without a default follows parameter with a default >>> lambda a,/,d=3,c: None Traceback (most recent call last): -SyntaxError: parameter without a default follows parameter with a default +SyntaxError: positional parameter without a default follows parameter with a default >>> import ast; ast.parse(''' ... def f( diff --git a/Parser/parser.c b/Parser/parser.c index edebddc95f968e..9cb0603f05666a 100644 --- a/Parser/parser.c +++ b/Parser/parser.c @@ -21487,7 +21487,7 @@ invalid_parameters_rule(Parser *p) ) { D(fprintf(stderr, "%*c+ invalid_parameters[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "slash_no_default? param_no_default* invalid_parameters_helper param_no_default")); - _res = RAISE_SYNTAX_ERROR_KNOWN_LOCATION ( a , "parameter without a default follows parameter with a default" ); + _res = RAISE_SYNTAX_ERROR_KNOWN_LOCATION ( a , "positional parameter without a default follows parameter with a default" ); if (_res == NULL && PyErr_Occurred()) { p->error_indicator = 1; p->level--; @@ -22078,7 +22078,7 @@ invalid_lambda_parameters_rule(Parser *p) ) { D(fprintf(stderr, "%*c+ invalid_lambda_parameters[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "lambda_slash_no_default? lambda_param_no_default* invalid_lambda_parameters_helper lambda_param_no_default")); - _res = RAISE_SYNTAX_ERROR_KNOWN_LOCATION ( a , "parameter without a default follows parameter with a default" ); + _res = RAISE_SYNTAX_ERROR_KNOWN_LOCATION ( a , "positional parameter without a default follows parameter with a default" ); if (_res == NULL && PyErr_Occurred()) { p->error_indicator = 1; p->level--;