Auto-generate files after cl/998985319
diff --git a/src/google/protobuf/any.pb.h b/src/google/protobuf/any.pb.h
index ca795b1..6bb1bd8 100644
--- a/src/google/protobuf/any.pb.h
+++ b/src/google/protobuf/any.pb.h
@@ -363,7 +363,7 @@
 PROTOBUF_ALWAYS_INLINE void Any::set_type_url(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000001U);
-  _impl_.type_url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.type_url_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Any.type_url)
 }
 inline ::std::string* PROTOBUF_NONNULL Any::mutable_type_url()
@@ -379,11 +379,11 @@
 }
 inline void Any::_internal_set_type_url(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.type_url_.Set(value, GetArena());
+  _impl_.type_url_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Any::_internal_mutable_type_url() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.type_url_.Mutable( GetArena());
+  return _impl_.type_url_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Any::release_type_url() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -394,7 +394,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
   auto* released = _impl_.type_url_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.type_url_.Set("", GetArena());
+    _impl_.type_url_.Set("", *this);
   }
   return released;
 }
@@ -407,7 +407,7 @@
   }
   _impl_.type_url_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.type_url_.IsDefault()) {
-    _impl_.type_url_.Set("", GetArena());
+    _impl_.type_url_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Any.type_url)
 }
@@ -427,7 +427,7 @@
 PROTOBUF_ALWAYS_INLINE void Any::set_value(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000002U);
-  _impl_.value_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.value_.SetBytes(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Any.value)
 }
 inline ::std::string* PROTOBUF_NONNULL Any::mutable_value()
@@ -443,11 +443,11 @@
 }
 inline void Any::_internal_set_value(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.value_.Set(value, GetArena());
+  _impl_.value_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Any::_internal_mutable_value() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.value_.Mutable( GetArena());
+  return _impl_.value_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Any::release_value() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -458,7 +458,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
   auto* released = _impl_.value_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.value_.Set("", GetArena());
+    _impl_.value_.Set("", *this);
   }
   return released;
 }
@@ -471,7 +471,7 @@
   }
   _impl_.value_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.value_.IsDefault()) {
-    _impl_.value_.Set("", GetArena());
+    _impl_.value_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Any.value)
 }
diff --git a/src/google/protobuf/api.pb.h b/src/google/protobuf/api.pb.h
index a0de60e..ee5c20a 100644
--- a/src/google/protobuf/api.pb.h
+++ b/src/google/protobuf/api.pb.h
@@ -896,7 +896,7 @@
 PROTOBUF_ALWAYS_INLINE void Api::set_name(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000008U);
-  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Api.name)
 }
 inline ::std::string* PROTOBUF_NONNULL Api::mutable_name()
@@ -912,11 +912,11 @@
 }
 inline void Api::_internal_set_name(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.name_.Set(value, GetArena());
+  _impl_.name_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Api::_internal_mutable_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.name_.Mutable( GetArena());
+  return _impl_.name_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Api::release_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -927,7 +927,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
   auto* released = _impl_.name_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   return released;
 }
@@ -940,7 +940,7 @@
   }
   _impl_.name_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Api.name)
 }
@@ -1065,7 +1065,7 @@
 PROTOBUF_ALWAYS_INLINE void Api::set_version(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000010U);
-  _impl_.version_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.version_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Api.version)
 }
 inline ::std::string* PROTOBUF_NONNULL Api::mutable_version()
@@ -1081,11 +1081,11 @@
 }
 inline void Api::_internal_set_version(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.version_.Set(value, GetArena());
+  _impl_.version_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Api::_internal_mutable_version() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.version_.Mutable( GetArena());
+  return _impl_.version_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Api::release_version() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -1096,7 +1096,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
   auto* released = _impl_.version_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.version_.Set("", GetArena());
+    _impl_.version_.Set("", *this);
   }
   return released;
 }
@@ -1109,7 +1109,7 @@
   }
   _impl_.version_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.version_.IsDefault()) {
-    _impl_.version_.Set("", GetArena());
+    _impl_.version_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Api.version)
 }
@@ -1301,7 +1301,7 @@
 PROTOBUF_ALWAYS_INLINE void Api::set_edition(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000020U);
-  _impl_.edition_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.edition_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Api.edition)
 }
 inline ::std::string* PROTOBUF_NONNULL Api::mutable_edition()
@@ -1317,11 +1317,11 @@
 }
 inline void Api::_internal_set_edition(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.edition_.Set(value, GetArena());
+  _impl_.edition_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Api::_internal_mutable_edition() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.edition_.Mutable( GetArena());
+  return _impl_.edition_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Api::release_edition() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -1332,7 +1332,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
   auto* released = _impl_.edition_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.edition_.Set("", GetArena());
+    _impl_.edition_.Set("", *this);
   }
   return released;
 }
@@ -1345,7 +1345,7 @@
   }
   _impl_.edition_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.edition_.IsDefault()) {
-    _impl_.edition_.Set("", GetArena());
+    _impl_.edition_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Api.edition)
 }
@@ -1369,7 +1369,7 @@
 PROTOBUF_ALWAYS_INLINE void Method::set_name(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000002U);
-  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Method.name)
 }
 inline ::std::string* PROTOBUF_NONNULL Method::mutable_name()
@@ -1385,11 +1385,11 @@
 }
 inline void Method::_internal_set_name(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.name_.Set(value, GetArena());
+  _impl_.name_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Method::_internal_mutable_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.name_.Mutable( GetArena());
+  return _impl_.name_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Method::release_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -1400,7 +1400,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
   auto* released = _impl_.name_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   return released;
 }
@@ -1413,7 +1413,7 @@
   }
   _impl_.name_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Method.name)
 }
@@ -1433,7 +1433,7 @@
 PROTOBUF_ALWAYS_INLINE void Method::set_request_type_url(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000004U);
-  _impl_.request_type_url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.request_type_url_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Method.request_type_url)
 }
 inline ::std::string* PROTOBUF_NONNULL Method::mutable_request_type_url()
@@ -1449,11 +1449,11 @@
 }
 inline void Method::_internal_set_request_type_url(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.request_type_url_.Set(value, GetArena());
+  _impl_.request_type_url_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Method::_internal_mutable_request_type_url() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.request_type_url_.Mutable( GetArena());
+  return _impl_.request_type_url_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Method::release_request_type_url() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -1464,7 +1464,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
   auto* released = _impl_.request_type_url_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.request_type_url_.Set("", GetArena());
+    _impl_.request_type_url_.Set("", *this);
   }
   return released;
 }
@@ -1477,7 +1477,7 @@
   }
   _impl_.request_type_url_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.request_type_url_.IsDefault()) {
-    _impl_.request_type_url_.Set("", GetArena());
+    _impl_.request_type_url_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Method.request_type_url)
 }
@@ -1521,7 +1521,7 @@
 PROTOBUF_ALWAYS_INLINE void Method::set_response_type_url(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000008U);
-  _impl_.response_type_url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.response_type_url_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Method.response_type_url)
 }
 inline ::std::string* PROTOBUF_NONNULL Method::mutable_response_type_url()
@@ -1537,11 +1537,11 @@
 }
 inline void Method::_internal_set_response_type_url(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.response_type_url_.Set(value, GetArena());
+  _impl_.response_type_url_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Method::_internal_mutable_response_type_url() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.response_type_url_.Mutable( GetArena());
+  return _impl_.response_type_url_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Method::release_response_type_url() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -1552,7 +1552,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
   auto* released = _impl_.response_type_url_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.response_type_url_.Set("", GetArena());
+    _impl_.response_type_url_.Set("", *this);
   }
   return released;
 }
@@ -1565,7 +1565,7 @@
   }
   _impl_.response_type_url_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.response_type_url_.IsDefault()) {
-    _impl_.response_type_url_.Set("", GetArena());
+    _impl_.response_type_url_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Method.response_type_url)
 }
@@ -1683,7 +1683,7 @@
 PROTOBUF_ALWAYS_INLINE void Method::set_edition(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000010U);
-  _impl_.edition_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.edition_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Method.edition)
 }
 inline ::std::string* PROTOBUF_NONNULL Method::mutable_edition()
@@ -1699,11 +1699,11 @@
 }
 inline void Method::_internal_set_edition(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.edition_.Set(value, GetArena());
+  _impl_.edition_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Method::_internal_mutable_edition() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.edition_.Mutable( GetArena());
+  return _impl_.edition_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Method::release_edition() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -1714,7 +1714,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
   auto* released = _impl_.edition_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.edition_.Set("", GetArena());
+    _impl_.edition_.Set("", *this);
   }
   return released;
 }
@@ -1727,7 +1727,7 @@
   }
   _impl_.edition_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.edition_.IsDefault()) {
-    _impl_.edition_.Set("", GetArena());
+    _impl_.edition_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Method.edition)
 }
@@ -1751,7 +1751,7 @@
 PROTOBUF_ALWAYS_INLINE void Mixin::set_name(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000001U);
-  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Mixin.name)
 }
 inline ::std::string* PROTOBUF_NONNULL Mixin::mutable_name()
@@ -1767,11 +1767,11 @@
 }
 inline void Mixin::_internal_set_name(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.name_.Set(value, GetArena());
+  _impl_.name_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Mixin::_internal_mutable_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.name_.Mutable( GetArena());
+  return _impl_.name_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Mixin::release_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -1782,7 +1782,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
   auto* released = _impl_.name_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   return released;
 }
@@ -1795,7 +1795,7 @@
   }
   _impl_.name_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Mixin.name)
 }
@@ -1815,7 +1815,7 @@
 PROTOBUF_ALWAYS_INLINE void Mixin::set_root(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000002U);
-  _impl_.root_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.root_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Mixin.root)
 }
 inline ::std::string* PROTOBUF_NONNULL Mixin::mutable_root()
@@ -1831,11 +1831,11 @@
 }
 inline void Mixin::_internal_set_root(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.root_.Set(value, GetArena());
+  _impl_.root_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Mixin::_internal_mutable_root() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.root_.Mutable( GetArena());
+  return _impl_.root_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Mixin::release_root() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -1846,7 +1846,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
   auto* released = _impl_.root_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.root_.Set("", GetArena());
+    _impl_.root_.Set("", *this);
   }
   return released;
 }
@@ -1859,7 +1859,7 @@
   }
   _impl_.root_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.root_.IsDefault()) {
-    _impl_.root_.Set("", GetArena());
+    _impl_.root_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Mixin.root)
 }
diff --git a/src/google/protobuf/source_context.pb.h b/src/google/protobuf/source_context.pb.h
index 8f09ab8..131b276 100644
--- a/src/google/protobuf/source_context.pb.h
+++ b/src/google/protobuf/source_context.pb.h
@@ -290,7 +290,7 @@
 PROTOBUF_ALWAYS_INLINE void SourceContext::set_file_name(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000001U);
-  _impl_.file_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.file_name_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.SourceContext.file_name)
 }
 inline ::std::string* PROTOBUF_NONNULL SourceContext::mutable_file_name()
@@ -306,11 +306,11 @@
 }
 inline void SourceContext::_internal_set_file_name(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.file_name_.Set(value, GetArena());
+  _impl_.file_name_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL SourceContext::_internal_mutable_file_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.file_name_.Mutable( GetArena());
+  return _impl_.file_name_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE SourceContext::release_file_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -321,7 +321,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
   auto* released = _impl_.file_name_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.file_name_.Set("", GetArena());
+    _impl_.file_name_.Set("", *this);
   }
   return released;
 }
@@ -334,7 +334,7 @@
   }
   _impl_.file_name_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.file_name_.IsDefault()) {
-    _impl_.file_name_.Set("", GetArena());
+    _impl_.file_name_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceContext.file_name)
 }
diff --git a/src/google/protobuf/struct.pb.h b/src/google/protobuf/struct.pb.h
index 01a7030..b4ffb13 100644
--- a/src/google/protobuf/struct.pb.h
+++ b/src/google/protobuf/struct.pb.h
@@ -951,7 +951,7 @@
     set_has_string_value();
     _impl_.kind_.string_value_.InitDefault();
   }
-  _impl_.kind_.string_value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.kind_.string_value_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Value.string_value)
 }
 inline ::std::string* PROTOBUF_NONNULL Value::mutable_string_value()
@@ -975,11 +975,11 @@
 }
 inline void Value::_internal_set_string_value(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.kind_.string_value_.Set(value, GetArena());
+  _impl_.kind_.string_value_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Value::_internal_mutable_string_value() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.kind_.string_value_.Mutable( GetArena());
+  return _impl_.kind_.string_value_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Value::release_string_value() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
diff --git a/src/google/protobuf/type.pb.h b/src/google/protobuf/type.pb.h
index 4086d0a..8a777eb 100644
--- a/src/google/protobuf/type.pb.h
+++ b/src/google/protobuf/type.pb.h
@@ -1623,7 +1623,7 @@
 PROTOBUF_ALWAYS_INLINE void Type::set_name(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000008U);
-  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Type.name)
 }
 inline ::std::string* PROTOBUF_NONNULL Type::mutable_name()
@@ -1639,11 +1639,11 @@
 }
 inline void Type::_internal_set_name(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.name_.Set(value, GetArena());
+  _impl_.name_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Type::_internal_mutable_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.name_.Mutable( GetArena());
+  return _impl_.name_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Type::release_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -1654,7 +1654,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
   auto* released = _impl_.name_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   return released;
 }
@@ -1667,7 +1667,7 @@
   }
   _impl_.name_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Type.name)
 }
@@ -1986,7 +1986,7 @@
 PROTOBUF_ALWAYS_INLINE void Type::set_edition(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000010U);
-  _impl_.edition_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.edition_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Type.edition)
 }
 inline ::std::string* PROTOBUF_NONNULL Type::mutable_edition()
@@ -2002,11 +2002,11 @@
 }
 inline void Type::_internal_set_edition(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.edition_.Set(value, GetArena());
+  _impl_.edition_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Type::_internal_mutable_edition() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.edition_.Mutable( GetArena());
+  return _impl_.edition_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Type::release_edition() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -2017,7 +2017,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
   auto* released = _impl_.edition_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.edition_.Set("", GetArena());
+    _impl_.edition_.Set("", *this);
   }
   return released;
 }
@@ -2030,7 +2030,7 @@
   }
   _impl_.edition_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.edition_.IsDefault()) {
-    _impl_.edition_.Set("", GetArena());
+    _impl_.edition_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Type.edition)
 }
@@ -2126,7 +2126,7 @@
 PROTOBUF_ALWAYS_INLINE void Field::set_name(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000002U);
-  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Field.name)
 }
 inline ::std::string* PROTOBUF_NONNULL Field::mutable_name()
@@ -2142,11 +2142,11 @@
 }
 inline void Field::_internal_set_name(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.name_.Set(value, GetArena());
+  _impl_.name_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Field::_internal_mutable_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.name_.Mutable( GetArena());
+  return _impl_.name_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Field::release_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -2157,7 +2157,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
   auto* released = _impl_.name_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   return released;
 }
@@ -2170,7 +2170,7 @@
   }
   _impl_.name_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Field.name)
 }
@@ -2190,7 +2190,7 @@
 PROTOBUF_ALWAYS_INLINE void Field::set_type_url(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000004U);
-  _impl_.type_url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.type_url_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Field.type_url)
 }
 inline ::std::string* PROTOBUF_NONNULL Field::mutable_type_url()
@@ -2206,11 +2206,11 @@
 }
 inline void Field::_internal_set_type_url(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.type_url_.Set(value, GetArena());
+  _impl_.type_url_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Field::_internal_mutable_type_url() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.type_url_.Mutable( GetArena());
+  return _impl_.type_url_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Field::release_type_url() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -2221,7 +2221,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
   auto* released = _impl_.type_url_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.type_url_.Set("", GetArena());
+    _impl_.type_url_.Set("", *this);
   }
   return released;
 }
@@ -2234,7 +2234,7 @@
   }
   _impl_.type_url_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.type_url_.IsDefault()) {
-    _impl_.type_url_.Set("", GetArena());
+    _impl_.type_url_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Field.type_url)
 }
@@ -2357,7 +2357,7 @@
 PROTOBUF_ALWAYS_INLINE void Field::set_json_name(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000008U);
-  _impl_.json_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.json_name_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Field.json_name)
 }
 inline ::std::string* PROTOBUF_NONNULL Field::mutable_json_name()
@@ -2373,11 +2373,11 @@
 }
 inline void Field::_internal_set_json_name(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.json_name_.Set(value, GetArena());
+  _impl_.json_name_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Field::_internal_mutable_json_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.json_name_.Mutable( GetArena());
+  return _impl_.json_name_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Field::release_json_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -2388,7 +2388,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
   auto* released = _impl_.json_name_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.json_name_.Set("", GetArena());
+    _impl_.json_name_.Set("", *this);
   }
   return released;
 }
@@ -2401,7 +2401,7 @@
   }
   _impl_.json_name_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.json_name_.IsDefault()) {
-    _impl_.json_name_.Set("", GetArena());
+    _impl_.json_name_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Field.json_name)
 }
@@ -2421,7 +2421,7 @@
 PROTOBUF_ALWAYS_INLINE void Field::set_default_value(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000010U);
-  _impl_.default_value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.default_value_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Field.default_value)
 }
 inline ::std::string* PROTOBUF_NONNULL Field::mutable_default_value()
@@ -2437,11 +2437,11 @@
 }
 inline void Field::_internal_set_default_value(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.default_value_.Set(value, GetArena());
+  _impl_.default_value_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Field::_internal_mutable_default_value() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.default_value_.Mutable( GetArena());
+  return _impl_.default_value_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Field::release_default_value() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -2452,7 +2452,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
   auto* released = _impl_.default_value_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.default_value_.Set("", GetArena());
+    _impl_.default_value_.Set("", *this);
   }
   return released;
 }
@@ -2465,7 +2465,7 @@
   }
   _impl_.default_value_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.default_value_.IsDefault()) {
-    _impl_.default_value_.Set("", GetArena());
+    _impl_.default_value_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Field.default_value)
 }
@@ -2489,7 +2489,7 @@
 PROTOBUF_ALWAYS_INLINE void Enum::set_name(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000004U);
-  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Enum.name)
 }
 inline ::std::string* PROTOBUF_NONNULL Enum::mutable_name()
@@ -2505,11 +2505,11 @@
 }
 inline void Enum::_internal_set_name(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.name_.Set(value, GetArena());
+  _impl_.name_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Enum::_internal_mutable_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.name_.Mutable( GetArena());
+  return _impl_.name_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Enum::release_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -2520,7 +2520,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
   auto* released = _impl_.name_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   return released;
 }
@@ -2533,7 +2533,7 @@
   }
   _impl_.name_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Enum.name)
 }
@@ -2780,7 +2780,7 @@
 PROTOBUF_ALWAYS_INLINE void Enum::set_edition(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000008U);
-  _impl_.edition_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.edition_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Enum.edition)
 }
 inline ::std::string* PROTOBUF_NONNULL Enum::mutable_edition()
@@ -2796,11 +2796,11 @@
 }
 inline void Enum::_internal_set_edition(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.edition_.Set(value, GetArena());
+  _impl_.edition_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Enum::_internal_mutable_edition() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.edition_.Mutable( GetArena());
+  return _impl_.edition_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Enum::release_edition() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -2811,7 +2811,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
   auto* released = _impl_.edition_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.edition_.Set("", GetArena());
+    _impl_.edition_.Set("", *this);
   }
   return released;
 }
@@ -2824,7 +2824,7 @@
   }
   _impl_.edition_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.edition_.IsDefault()) {
-    _impl_.edition_.Set("", GetArena());
+    _impl_.edition_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Enum.edition)
 }
@@ -2848,7 +2848,7 @@
 PROTOBUF_ALWAYS_INLINE void EnumValue::set_name(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000002U);
-  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.EnumValue.name)
 }
 inline ::std::string* PROTOBUF_NONNULL EnumValue::mutable_name()
@@ -2864,11 +2864,11 @@
 }
 inline void EnumValue::_internal_set_name(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.name_.Set(value, GetArena());
+  _impl_.name_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL EnumValue::_internal_mutable_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.name_.Mutable( GetArena());
+  return _impl_.name_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE EnumValue::release_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -2879,7 +2879,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
   auto* released = _impl_.name_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   return released;
 }
@@ -2892,7 +2892,7 @@
   }
   _impl_.name_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValue.name)
 }
@@ -2995,7 +2995,7 @@
 PROTOBUF_ALWAYS_INLINE void Option::set_name(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000001U);
-  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.Option.name)
 }
 inline ::std::string* PROTOBUF_NONNULL Option::mutable_name()
@@ -3011,11 +3011,11 @@
 }
 inline void Option::_internal_set_name(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.name_.Set(value, GetArena());
+  _impl_.name_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL Option::_internal_mutable_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.name_.Mutable( GetArena());
+  return _impl_.name_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE Option::release_name() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -3026,7 +3026,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
   auto* released = _impl_.name_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   return released;
 }
@@ -3039,7 +3039,7 @@
   }
   _impl_.name_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
-    _impl_.name_.Set("", GetArena());
+    _impl_.name_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.Option.name)
 }
diff --git a/src/google/protobuf/wrappers.pb.h b/src/google/protobuf/wrappers.pb.h
index 306ab1a..1a5d8c9 100644
--- a/src/google/protobuf/wrappers.pb.h
+++ b/src/google/protobuf/wrappers.pb.h
@@ -2075,7 +2075,7 @@
 PROTOBUF_ALWAYS_INLINE void StringValue::set_value(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000001U);
-  _impl_.value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.value_.Set(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.StringValue.value)
 }
 inline ::std::string* PROTOBUF_NONNULL StringValue::mutable_value()
@@ -2091,11 +2091,11 @@
 }
 inline void StringValue::_internal_set_value(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.value_.Set(value, GetArena());
+  _impl_.value_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL StringValue::_internal_mutable_value() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.value_.Mutable( GetArena());
+  return _impl_.value_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE StringValue::release_value() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -2106,7 +2106,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
   auto* released = _impl_.value_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.value_.Set("", GetArena());
+    _impl_.value_.Set("", *this);
   }
   return released;
 }
@@ -2119,7 +2119,7 @@
   }
   _impl_.value_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.value_.IsDefault()) {
-    _impl_.value_.Set("", GetArena());
+    _impl_.value_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.StringValue.value)
 }
@@ -2143,7 +2143,7 @@
 PROTOBUF_ALWAYS_INLINE void BytesValue::set_value(Arg_&& arg, Args_... args) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
   SetHasBit(_impl_._has_bits_[0], 0x00000001U);
-  _impl_.value_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
+  _impl_.value_.SetBytes(static_cast<Arg_&&>(arg), args..., *this);
   // @@protoc_insertion_point(field_set:google.protobuf.BytesValue.value)
 }
 inline ::std::string* PROTOBUF_NONNULL BytesValue::mutable_value()
@@ -2159,11 +2159,11 @@
 }
 inline void BytesValue::_internal_set_value(const ::std::string& value) {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  _impl_.value_.Set(value, GetArena());
+  _impl_.value_.Set(value, *this);
 }
 inline ::std::string* PROTOBUF_NONNULL BytesValue::_internal_mutable_value() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
-  return _impl_.value_.Mutable( GetArena());
+  return _impl_.value_.Mutable( *this);
 }
 inline ::std::string* PROTOBUF_NULLABLE BytesValue::release_value() {
   ::google::protobuf::internal::TSanWrite(&_impl_);
@@ -2174,7 +2174,7 @@
   ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
   auto* released = _impl_.value_.Release();
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
-    _impl_.value_.Set("", GetArena());
+    _impl_.value_.Set("", *this);
   }
   return released;
 }
@@ -2187,7 +2187,7 @@
   }
   _impl_.value_.SetAllocated(value, GetArena());
   if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.value_.IsDefault()) {
-    _impl_.value_.Set("", GetArena());
+    _impl_.value_.Set("", *this);
   }
   // @@protoc_insertion_point(field_set_allocated:google.protobuf.BytesValue.value)
 }