Skip to content

Commit 9e2b680

Browse files
committed
arg name to be written upon duplicate kwargs error RustPython#4381
1 parent 3a5716d commit 9e2b680

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

compiler/parser/src/error.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ pub enum LexicalErrorType {
2424
DuplicateArgumentError(String),
2525
PositionalArgumentError,
2626
UnpackedArgumentError,
27-
DuplicateKeywordArgumentError,
27+
DuplicateKeywordArgumentError(String),
2828
UnrecognizedToken { tok: char },
2929
FStringError(FStringErrorType),
3030
LineContinuationError,
@@ -54,8 +54,8 @@ impl fmt::Display for LexicalErrorType {
5454
LexicalErrorType::DuplicateArgumentError(arg_name) => {
5555
write!(f, "duplicate argument '{arg_name}' in function definition")
5656
}
57-
LexicalErrorType::DuplicateKeywordArgumentError => {
58-
write!(f, "keyword argument repeated")
57+
LexicalErrorType::DuplicateKeywordArgumentError(arg_name) => {
58+
write!(f, "keyword argument '{arg_name}' repeated")
5959
}
6060
LexicalErrorType::PositionalArgumentError => {
6161
write!(f, "positional argument follows keyword argument")

compiler/parser/src/function.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ pub fn parse_args(func_args: Vec<FunctionArgument>) -> Result<ArgumentList, Lexi
9292
if let Some(keyword_name) = &name {
9393
if keyword_names.contains(keyword_name) {
9494
return Err(LexicalError {
95-
error: LexicalErrorType::DuplicateKeywordArgumentError,
95+
error: LexicalErrorType::DuplicateKeywordArgumentError(keyword_name.to_string()),
9696
location: start,
9797
});
9898
}

0 commit comments

Comments
 (0)