fn detect_loop_and_push( trace: &mut Vec<String>, fd: &FieldDescriptor, ) -> Result<(), ProtobufTypeError>