diff --git a/secop/datatypes.py b/secop/datatypes.py index 029ba8f..ef11d07 100644 --- a/secop/datatypes.py +++ b/secop/datatypes.py @@ -849,7 +849,7 @@ class ImmutableDict(dict): class StructOf(DataType): """data structure with named fields - :param optional: a list of optional members + :param optional: a list of optional members (default None: all members optional) :param members: names as keys and types as values for all members """ def __init__(self, optional=None, **members): @@ -857,7 +857,7 @@ class StructOf(DataType): self.members = members if not members: raise BadValueError('Empty structs are not allowed!') - self.optional = list(optional or []) + self.optional = list(members) if optional is None else list(optional) for name, subtype in list(members.items()): if not isinstance(subtype, DataType): raise ProgrammingError(