resolve-string-method-ambiguity.patch 1.2 KB

123456789101112131415161718192021222324252627282930
  1. commit 4a55ea8892270807a046eb33fd5bc336b5fa93cb (HEAD)
  2. author: vadim-xd
  3. date: 2024-10-28T12:47:03+03:00
  4. Resolve ambiguity in ArenaStringPtr methods with std::string&&
  5. --- contrib/libs/protobuf/src/google/protobuf/arenastring.h (e2819444222a1e9154b9c7b701eff6427206db7c)
  6. +++ contrib/libs/protobuf/src/google/protobuf/arenastring.h (4a55ea8892270807a046eb33fd5bc336b5fa93cb)
  7. @@ -266,6 +266,10 @@ struct PROTOBUF_EXPORT ArenaStringPtr {
  8. void Set(const char* s, Arena* arena);
  9. void Set(const char* s, size_t n, Arena* arena);
  10. + void Set(std::string&& value, Arena* arena) {
  11. + return Set(TProtoStringType(std::move(value)), arena);
  12. + }
  13. +
  14. void SetBytes(absl::string_view value, Arena* arena);
  15. void SetBytes(TProtoStringType&& value, Arena* arena);
  16. template <typename... OverloadDisambiguator>
  17. @@ -273,6 +277,10 @@ struct PROTOBUF_EXPORT ArenaStringPtr {
  18. void SetBytes(const char* s, Arena* arena);
  19. void SetBytes(const void* p, size_t n, Arena* arena);
  20. + void SetBytes(std::string&& value, Arena* arena) {
  21. + return SetBytes(TProtoStringType(std::move(value)), arena);
  22. + }
  23. +
  24. template <typename RefWrappedType>
  25. void Set(std::reference_wrapper<RefWrappedType> const_string_ref,
  26. ::google::protobuf::Arena* arena) {