code: def _generate_struct_cstor_signature_default(self, struct):
          
          if not self._struct_has_defaults(struct):
              return
  
          fields_no_default = [
              f for f in struct.all_fields
              if not f.has_default and not is_nullable_type(f.data_type)
          ]
          signature = fmt_signature(
              func=self._cstor_name_from_fields(fields_no_default),
              args=self._cstor_args_from_fields(
                  fields_no_default, is_struct=True),
              return_type='instancetype')
  
          self.emit(comment_prefix)
          description_str = (
              'Convenience constructor (exposes only non-nullable '
              'instance variables with no default value).')
          self.emit_wrapped_text(description_str, prefix=comment_prefix)
          self.emit(comment_prefix)
          for field in fields_no_default:
              doc = self.process_doc(field.doc,
                                     self._docf) if field.doc else undocumented
              self.emit_wrapped_text(
                  '@param {} {}'.format(fmt_var(field.name), doc),
                  prefix=comment_prefix)
          if struct.all_fields:
              self.emit(comment_prefix)
          self.emit_wrapped_text(
              '@return An initialized instance.', prefix=comment_prefix)
          self.emit(comment_prefix)
  
          self.emit('{};'.format(signature))
          self.emit()
docs: Emits struct convenience constructor with default arguments
          ommitted signature to be used in the struct header file.