Hi, I am facing a problem with oneof {} inside a nested message and Python 3.7 (not sure whether it is limited to Python 3.7 or even to Python in general). Example:
*demo.proto* syntax = "proto3"; package oneofInsideNestedMessage; message outside { message inside { oneof dummyName { MsgA a = 1; MsgB b = 2; } } } message MsgA { string text = 1; } message MsgB { uint32 number = 1; } *demo.py:* from demo_pb2 import outside msg = outside() msg.inside.a.text = 'test' *Result:* I expect that this will a) choose MsgA as type for the oneof { b) set text field to 'test' What actually happens: Traceback (most recent call last): File "<ipython-input-6-da73825bef90>", line 1, in <module> runfile('.../demo.py', wdir='...') File "...\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile execfile(filename, namespace) File "...\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile exec(compile(f.read(), filename, 'exec'), namespace) File ".../demo.py", line 11, in <module> msg.inside.a.text = 'test' AttributeError: '_FieldProperty' object has no attribute 'text' It does *not *happen when oneof is located in "outside" only when in "inside". As I want to switch an existing format to protobuf I do not want to change the structure of the data as this would break existing application code. Is this considered a bug (i.e., will go away eventually) or is this a limitation that will remain? Best regards and thanks for making protobuf available publicly, Adrian -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to protobuf+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/d635e3b5-a8c0-43b6-bc4d-13958539e682%40googlegroups.com.