Since Struct.__init__() first saves the format in s_format, then sets s_code used to pack/unpack, after calling it with invalid format argument it leaves the Struct object in inconsistent state -- format returns the new (invalid) format, while packing/unpacking use old format (if it was set). This happens only when call it explicitly, which will be deprecated (see #143715). If simply call Struct() with invalid argument, you will not get a broken object, you will get an error.
Linked PRs
Since
Struct.__init__()first saves the format ins_format, then setss_codeused to pack/unpack, after calling it with invalid format argument it leaves the Struct object in inconsistent state --formatreturns the new (invalid) format, while packing/unpacking use old format (if it was set). This happens only when call it explicitly, which will be deprecated (see #143715). If simply callStruct()with invalid argument, you will not get a broken object, you will get an error.Linked PRs