Skip to content

Commit 759e78c

Browse files
authored
Display argument that is duplicated in function calls (#35857)
1 parent fb986a0 commit 759e78c

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/julia-syntax.scm

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -335,11 +335,11 @@
335335
(optional-positional-defs name sparams req opt dfl body
336336
(append req opt vararg) rett)))))
337337
;; no optional positional args
338-
(let ((names (map car sparams))
339-
(anames (map (lambda (x) (if (underscore-symbol? x) UNUSED x))
340-
(llist-vars argl))))
341-
(if (has-dups (filter (lambda (x) (not (eq? x UNUSED))) anames))
342-
(error "function argument names not unique"))
338+
(let* ((names (map car sparams))
339+
(anames (map (lambda (x) (if (underscore-symbol? x) UNUSED x)) (llist-vars argl)))
340+
(unused_anames (filter (lambda (x) (not (eq? x UNUSED))) anames)))
341+
(if (has-dups unused_anames)
342+
(error (string "function argument name not unique: \"" (car (has-dups unused_anames)) "\"")))
343343
(if (has-dups names)
344344
(error "function static parameter names not unique"))
345345
(if (any (lambda (x) (and (not (eq? x UNUSED)) (memq x names))) anames)

test/syntax.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2192,7 +2192,7 @@ end
21922192

21932193
# Syntax desugaring pass errors contain line numbers
21942194
@test Meta.lower(@__MODULE__, Expr(:block, LineNumberNode(101, :some_file), :(f(x,x)=1))) ==
2195-
Expr(:error, "function argument names not unique around some_file:101")
2195+
Expr(:error, "function argument name not unique: \"x\" around some_file:101")
21962196

21972197
# Ensure file names don't leak between `eval`s
21982198
eval(LineNumberNode(11, :incorrect_file))

0 commit comments

Comments
 (0)