// Protocol Buffers - Google's data interchange format // Copyright 2026 Google LLC. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file or at // https://developers.google.com/open-source/licenses/bsd edition = "2024"; package third_party_protobuf_rust_test; message TestExtensions { extensions 1 to max; extend TestExtensions { int32 nested_extension = 500; } } message SimpleSubmessage { int32 i32_field = 1 [default = 123]; } extend TestExtensions { int32 i32_extension = 1; string str_extension = 2; SimpleSubmessage submessage_extension = 20; int32 i32_extension_with_default = 100 [default = 100]; repeated int32 repeated_i32_extension = 801; repeated string repeated_str_extension = 802; repeated SimpleSubmessage repeated_submessage_extension = 803; int64 i64_extension = 11; uint32 u32_extension = 12; uint64 u64_extension = 13; float f32_extension = 14; double f64_extension = 15; bool bool_extension = 16; repeated int64 repeated_i64_extension = 811; repeated uint32 repeated_u32_extension = 812; repeated uint64 repeated_u64_extension = 813; repeated float repeated_f32_extension = 814; repeated double repeated_f64_extension = 815; repeated bool repeated_bool_extension = 816; TestEnum enum_extension = 30; repeated TestEnum repeated_enum_extension = 830; } enum TestEnum { FOO = 0; BAR = 1; } enum ClosedEnum { option features.enum_type = CLOSED; CLOSED_ZERO = 0; CLOSED_ONE = 1; } extend TestExtensions { ClosedEnum closed_enum_extension = 31; }