[ RUN      ] third_party/protobuf/editions/golden/simple_proto3.pb.cc
@@ @@
     ::_pbi::TcParser::GetTable<::protobuf_editions_test::golden::SimpleProto3>(),  // to_prefetch
     #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
   }, {{
-    // optional int32 int32_field = 1;
+    // int32 int32_field = 1;
     {::_pbi::TcParser::FastV32S1,
      {8, 0, 0, PROTOBUF_FIELD_OFFSET(SimpleProto3, _impl_.int32_field_)}},
   }}, {{
     65535, 65535
   }}, {{
-    // optional int32 int32_field = 1;
+    // int32 int32_field = 1;
     {PROTOBUF_FIELD_OFFSET(SimpleProto3, _impl_.int32_field_), _Internal::kHasBitsOffset + 0, 0,
     (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
   }},
@@ @@
           (void)cached_has_bits;
 
           cached_has_bits = this_._impl_._has_bits_[0];
-          // optional int32 int32_field = 1;
+          // int32 int32_field = 1;
           if (cached_has_bits & 0x00000001u) {
             target = ::proto2::internal::WireFormatLite::
                 WriteInt32ToArrayWithField<1>(
@@ @@
           (void)cached_has_bits;
 
            {
-            // optional int32 int32_field = 1;
+            // int32 int32_field = 1;
             cached_has_bits = this_._impl_._has_bits_[0];
             if (cached_has_bits & 0x00000001u) {
               total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
[  FAILED  ] third_party/protobuf/editions/golden/simple_proto3.pb.cc
[ RUN      ] third_party/protobuf/editions/golden/simple_proto3.pb.h
@@ @@
   enum : int {
     kInt32FieldFieldNumber = 1,
   };
-  // optional int32 int32_field = 1;
+  // int32 int32_field = 1;
   bool has_int32_field() const;
   void clear_int32_field() ;
   ::int32_t int32_field() const;
@@ @@
 
 // SimpleProto3
 
-// optional int32 int32_field = 1;
+// int32 int32_field = 1;
 inline bool SimpleProto3::has_int32_field() const {
   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
   return value;
[  FAILED  ] third_party/protobuf/editions/golden/simple_proto3.pb.h
[ RUN      ] third_party/protobuf/editions/golden/simple_proto3.proto.static_reflection.h
[  OK      ] third_party/protobuf/editions/golden/simple_proto3.proto.static_reflection.h
