Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
978607ae
Commit
978607ae
authored
Apr 10, 2014
by
Paul Sokolovsky
Browse files
objfun: Fix default arguments filling loop, was broken in presense of kwargs.
parent
41e2dea4
Changes
2
Hide whitespace changes
Inline
Side-by-side
py/objfun.c
View file @
978607ae
...
...
@@ -299,9 +299,9 @@ continue2:;
// Now fill in defaults
mp_obj_t
*
d
=
&
flat_args
[
self
->
n_args
-
1
];
mp_obj_t
*
s
=
&
self
->
extra_args
[
self
->
n_def_args
-
1
];
for
(
int
i
=
self
->
n_def_args
;
i
>
0
;
i
--
)
{
for
(
int
i
=
self
->
n_def_args
;
i
>
0
;
i
--
,
d
--
,
s
--
)
{
if
(
*
d
==
MP_OBJ_NULL
)
{
*
d
--
=
*
s
--
;
*
d
=
*
s
;
}
}
DEBUG_printf
(
"Args after filling defaults: "
);
...
...
tests/basics/fun-defargs2.py
View file @
978607ae
...
...
@@ -11,3 +11,9 @@ foo(1, b=333)
# override with keyword
foo
(
a
=
2
,
b
=
333
)
def
foo2
(
a
=
1
,
b
=
2
):
print
(
a
,
b
)
# default and keyword
foo2
(
b
=
'two'
)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment