Open
Description
The issue affects both relative imports and google.protobuf imports, but is not 100% reproducible.
My working theory is that for service method input types output_package.imports
sometimes populates too late to be included in the imports section of a generated file. The list is populated only when template is compiled with method.py_input_message_param
which comes way after the import section.
On the contrary, imports for output types are figured out before template compilation in ServiceMethodCompiler:__post__init__
by using self.py_output_message_type
Fix is to add
if "Optional" in self.py_input_message_type:
self.output_file.typing_imports.add("Optional")
I have only checked it with google.protobuf types, but I suspect that relative imports behave no different and this issue is related to #441
Metadata
Metadata
Assignees
Labels
No labels