aboutsummaryrefslogtreecommitdiff
path: root/starlark/eval.go
diff options
context:
space:
mode:
Diffstat (limited to 'starlark/eval.go')
-rw-r--r--starlark/eval.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/starlark/eval.go b/starlark/eval.go
index a144052..c03d71a 100644
--- a/starlark/eval.go
+++ b/starlark/eval.go
@@ -1147,7 +1147,7 @@ func setArgs(locals []Value, fn *Function, args Tuple, kwargs []Tuple) error {
// Too many positional args?
n := len(args)
- maxpos := nparams
+ maxpos := nparams - fn.NumKwonlyParams()
if len(args) > maxpos {
if !fn.HasVarargs() {
return fmt.Errorf("function %s takes %s %d positional argument%s (%d given)",
@@ -1201,7 +1201,7 @@ func setArgs(locals []Value, fn *Function, args Tuple, kwargs []Tuple) error {
}
// default values
- if n < nparams {
+ if n < nparams || fn.NumKwonlyParams() > 0 {
m := nparams - len(fn.defaults) // first default
// report errors for missing non-optional arguments