Skip to content

Commit df372f9

Browse files
committed
Out parameters cannot have default values...
1 parent e165d7c commit df372f9

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

etgtools/cffi/function/base.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ def setup(self):
6060
def print_call_cdef_setup(self, pyfile, indent):
6161
conversion = self.type.call_cdef_param_setup(self.name)
6262

63-
if self.default:
63+
can_be_default = self.default and not self.flags.out
64+
65+
if can_be_default:
6466
name = self.name
6567
if self.flags.arraysize:
6668
name = self.array_param_name
@@ -70,12 +72,12 @@ def print_call_cdef_setup(self, pyfile, indent):
7072
{0.name}{2.CFFI_PARAM_SUFFIX} = {0.type.default_placeholder}
7173
""".format(self, name, TypeInfo), indent + 4))
7274

73-
if conversion is not None and self.default:
75+
if conversion is not None and can_be_default:
7476
pyfile.write(nci('else:', indent + 4))
7577

7678
if conversion is not None:
7779
pyfile.write(nci(
78-
conversion, indent + 4 + 4 * int(bool(self.default))))
80+
conversion, indent + 4 + 4 * int(bool(can_be_default))))
7981

8082
def print_type_check(self, pyfile, indent):
8183
if self.flags.arraysize or self.flags.out:

0 commit comments

Comments
 (0)