syntax = "proto2"; enum TestEnum { DARK = 1; LIGHT = 2; } message TestMessage { optional int32 value = 10; } message TestTypes { optional double double_singular = 1; optional float float_singular = 2; optional int32 int32_singular = 3; optional int64 int64_singular = 4; optional uint32 uint32_singular = 5; optional uint64 uint64_singular = 6; optional sint32 sint32_singular = 7; optional sint64 sint64_singular = 8; optional fixed32 fixed32_singular = 9; optional fixed64 fixed64_singular = 10; optional sfixed32 sfixed32_singular = 11; optional sfixed64 sfixed64_singular = 12; optional bool bool_singular = 13; optional string string_singular = 14; optional bytes bytes_singular = 15; optional TestEnum test_enum_singular = 16; optional TestMessage test_message_singular = 17; repeated double double_repeated = 31; repeated float float_repeated = 32; repeated int32 int32_repeated = 33; repeated int64 int64_repeated = 34; repeated uint32 uint32_repeated = 35; repeated uint64 uint64_repeated = 36; repeated sint32 sint32_repeated = 37; repeated sint64 sint64_repeated = 38; repeated fixed32 fixed32_repeated = 39; repeated fixed64 fixed64_repeated = 40; repeated sfixed32 sfixed32_repeated = 41; repeated sfixed64 sfixed64_repeated = 42; repeated bool bool_repeated = 43; repeated string string_repeated = 44; repeated bytes bytes_repeated = 45; repeated TestEnum test_enum_repeated = 46; repeated TestMessage test_message_repeated = 47; } message TestTextFormatRustIdentifier { optional bool const = 1; }