// Protocol Buffers - Google's data interchange format
// Copyright 2024 Google Inc.  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

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: conformance/test_protos/test_messages_edition2023.proto

package editions

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

type ForeignEnumEdition2023 int32

const (
	ForeignEnumEdition2023_FOREIGN_FOO ForeignEnumEdition2023 = 0
	ForeignEnumEdition2023_FOREIGN_BAR ForeignEnumEdition2023 = 1
	ForeignEnumEdition2023_FOREIGN_BAZ ForeignEnumEdition2023 = 2
)

// Enum value maps for ForeignEnumEdition2023.
var (
	ForeignEnumEdition2023_name = map[int32]string{
		0: "FOREIGN_FOO",
		1: "FOREIGN_BAR",
		2: "FOREIGN_BAZ",
	}
	ForeignEnumEdition2023_value = map[string]int32{
		"FOREIGN_FOO": 0,
		"FOREIGN_BAR": 1,
		"FOREIGN_BAZ": 2,
	}
)

func (x ForeignEnumEdition2023) Enum() *ForeignEnumEdition2023 {
	p := new(ForeignEnumEdition2023)
	*p = x
	return p
}

func (x ForeignEnumEdition2023) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ForeignEnumEdition2023) Descriptor() protoreflect.EnumDescriptor {
	return file_conformance_test_protos_test_messages_edition2023_proto_enumTypes[0].Descriptor()
}

func (ForeignEnumEdition2023) Type() protoreflect.EnumType {
	return &file_conformance_test_protos_test_messages_edition2023_proto_enumTypes[0]
}

func (x ForeignEnumEdition2023) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ForeignEnumEdition2023.Descriptor instead.
func (ForeignEnumEdition2023) EnumDescriptor() ([]byte, []int) {
	return file_conformance_test_protos_test_messages_edition2023_proto_rawDescGZIP(), []int{0}
}

type TestAllTypesEdition2023_NestedEnum int32

const (
	TestAllTypesEdition2023_FOO TestAllTypesEdition2023_NestedEnum = 0
	TestAllTypesEdition2023_BAR TestAllTypesEdition2023_NestedEnum = 1
	TestAllTypesEdition2023_BAZ TestAllTypesEdition2023_NestedEnum = 2
	TestAllTypesEdition2023_NEG TestAllTypesEdition2023_NestedEnum = -1 // Intentionally negative.
)

// Enum value maps for TestAllTypesEdition2023_NestedEnum.
var (
	TestAllTypesEdition2023_NestedEnum_name = map[int32]string{
		0:  "FOO",
		1:  "BAR",
		2:  "BAZ",
		-1: "NEG",
	}
	TestAllTypesEdition2023_NestedEnum_value = map[string]int32{
		"FOO": 0,
		"BAR": 1,
		"BAZ": 2,
		"NEG": -1,
	}
)

func (x TestAllTypesEdition2023_NestedEnum) Enum() *TestAllTypesEdition2023_NestedEnum {
	p := new(TestAllTypesEdition2023_NestedEnum)
	*p = x
	return p
}

func (x TestAllTypesEdition2023_NestedEnum) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TestAllTypesEdition2023_NestedEnum) Descriptor() protoreflect.EnumDescriptor {
	return file_conformance_test_protos_test_messages_edition2023_proto_enumTypes[1].Descriptor()
}

func (TestAllTypesEdition2023_NestedEnum) Type() protoreflect.EnumType {
	return &file_conformance_test_protos_test_messages_edition2023_proto_enumTypes[1]
}

func (x TestAllTypesEdition2023_NestedEnum) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TestAllTypesEdition2023_NestedEnum.Descriptor instead.
func (TestAllTypesEdition2023_NestedEnum) EnumDescriptor() ([]byte, []int) {
	return file_conformance_test_protos_test_messages_edition2023_proto_rawDescGZIP(), []int{1, 0}
}

type ComplexMessage struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	D             *int32                 `protobuf:"varint,1,opt,name=d" json:"d,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ComplexMessage) Reset() {
	*x = ComplexMessage{}
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ComplexMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ComplexMessage) ProtoMessage() {}

func (x *ComplexMessage) ProtoReflect() protoreflect.Message {
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ComplexMessage.ProtoReflect.Descriptor instead.
func (*ComplexMessage) Descriptor() ([]byte, []int) {
	return file_conformance_test_protos_test_messages_edition2023_proto_rawDescGZIP(), []int{0}
}

func (x *ComplexMessage) GetD() int32 {
	if x != nil && x.D != nil {
		return *x.D
	}
	return 0
}

type TestAllTypesEdition2023 struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Singular
	OptionalInt32          *int32                                 `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32" json:"optional_int32,omitempty"`
	OptionalInt64          *int64                                 `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64" json:"optional_int64,omitempty"`
	OptionalUint32         *uint32                                `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32" json:"optional_uint32,omitempty"`
	OptionalUint64         *uint64                                `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64" json:"optional_uint64,omitempty"`
	OptionalSint32         *int32                                 `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32" json:"optional_sint32,omitempty"`
	OptionalSint64         *int64                                 `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64" json:"optional_sint64,omitempty"`
	OptionalFixed32        *uint32                                `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32" json:"optional_fixed32,omitempty"`
	OptionalFixed64        *uint64                                `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64" json:"optional_fixed64,omitempty"`
	OptionalSfixed32       *int32                                 `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32" json:"optional_sfixed32,omitempty"`
	OptionalSfixed64       *int64                                 `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64" json:"optional_sfixed64,omitempty"`
	OptionalFloat          *float32                               `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat" json:"optional_float,omitempty"`
	OptionalDouble         *float64                               `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble" json:"optional_double,omitempty"`
	OptionalBool           *bool                                  `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool" json:"optional_bool,omitempty"`
	OptionalString         *string                                `protobuf:"bytes,14,opt,name=optional_string,json=optionalString" json:"optional_string,omitempty"`
	OptionalBytes          []byte                                 `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes" json:"optional_bytes,omitempty"`
	OptionalNestedMessage  *TestAllTypesEdition2023_NestedMessage `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"`
	OptionalForeignMessage *ForeignMessageEdition2023             `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage" json:"optional_foreign_message,omitempty"`
	OptionalNestedEnum     *TestAllTypesEdition2023_NestedEnum    `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,enum=protobuf_test_messages.editions.TestAllTypesEdition2023_NestedEnum" json:"optional_nested_enum,omitempty"`
	OptionalForeignEnum    *ForeignEnumEdition2023                `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,enum=protobuf_test_messages.editions.ForeignEnumEdition2023" json:"optional_foreign_enum,omitempty"`
	OptionalStringPiece    *string                                `protobuf:"bytes,24,opt,name=optional_string_piece,json=optionalStringPiece" json:"optional_string_piece,omitempty"`
	OptionalCord           *string                                `protobuf:"bytes,25,opt,name=optional_cord,json=optionalCord" json:"optional_cord,omitempty"`
	RecursiveMessage       *TestAllTypesEdition2023               `protobuf:"bytes,27,opt,name=recursive_message,json=recursiveMessage" json:"recursive_message,omitempty"`
	// Repeated
	RepeatedInt32          []int32                                  `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32" json:"repeated_int32,omitempty"`
	RepeatedInt64          []int64                                  `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64" json:"repeated_int64,omitempty"`
	RepeatedUint32         []uint32                                 `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32" json:"repeated_uint32,omitempty"`
	RepeatedUint64         []uint64                                 `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64" json:"repeated_uint64,omitempty"`
	RepeatedSint32         []int32                                  `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32" json:"repeated_sint32,omitempty"`
	RepeatedSint64         []int64                                  `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64" json:"repeated_sint64,omitempty"`
	RepeatedFixed32        []uint32                                 `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32" json:"repeated_fixed32,omitempty"`
	RepeatedFixed64        []uint64                                 `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64" json:"repeated_fixed64,omitempty"`
	RepeatedSfixed32       []int32                                  `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32" json:"repeated_sfixed32,omitempty"`
	RepeatedSfixed64       []int64                                  `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64" json:"repeated_sfixed64,omitempty"`
	RepeatedFloat          []float32                                `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat" json:"repeated_float,omitempty"`
	RepeatedDouble         []float64                                `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble" json:"repeated_double,omitempty"`
	RepeatedBool           []bool                                   `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool" json:"repeated_bool,omitempty"`
	RepeatedString         []string                                 `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString" json:"repeated_string,omitempty"`
	RepeatedBytes          [][]byte                                 `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes" json:"repeated_bytes,omitempty"`
	RepeatedNestedMessage  []*TestAllTypesEdition2023_NestedMessage `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage" json:"repeated_nested_message,omitempty"`
	RepeatedForeignMessage []*ForeignMessageEdition2023             `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage" json:"repeated_foreign_message,omitempty"`
	RepeatedNestedEnum     []TestAllTypesEdition2023_NestedEnum     `protobuf:"varint,51,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,enum=protobuf_test_messages.editions.TestAllTypesEdition2023_NestedEnum" json:"repeated_nested_enum,omitempty"`
	RepeatedForeignEnum    []ForeignEnumEdition2023                 `protobuf:"varint,52,rep,packed,name=repeated_foreign_enum,json=repeatedForeignEnum,enum=protobuf_test_messages.editions.ForeignEnumEdition2023" json:"repeated_foreign_enum,omitempty"`
	RepeatedStringPiece    []string                                 `protobuf:"bytes,54,rep,name=repeated_string_piece,json=repeatedStringPiece" json:"repeated_string_piece,omitempty"`
	RepeatedCord           []string                                 `protobuf:"bytes,55,rep,name=repeated_cord,json=repeatedCord" json:"repeated_cord,omitempty"`
	// Packed
	PackedInt32      []int32                              `protobuf:"varint,75,rep,packed,name=packed_int32,json=packedInt32" json:"packed_int32,omitempty"`
	PackedInt64      []int64                              `protobuf:"varint,76,rep,packed,name=packed_int64,json=packedInt64" json:"packed_int64,omitempty"`
	PackedUint32     []uint32                             `protobuf:"varint,77,rep,packed,name=packed_uint32,json=packedUint32" json:"packed_uint32,omitempty"`
	PackedUint64     []uint64                             `protobuf:"varint,78,rep,packed,name=packed_uint64,json=packedUint64" json:"packed_uint64,omitempty"`
	PackedSint32     []int32                              `protobuf:"zigzag32,79,rep,packed,name=packed_sint32,json=packedSint32" json:"packed_sint32,omitempty"`
	PackedSint64     []int64                              `protobuf:"zigzag64,80,rep,packed,name=packed_sint64,json=packedSint64" json:"packed_sint64,omitempty"`
	PackedFixed32    []uint32                             `protobuf:"fixed32,81,rep,packed,name=packed_fixed32,json=packedFixed32" json:"packed_fixed32,omitempty"`
	PackedFixed64    []uint64                             `protobuf:"fixed64,82,rep,packed,name=packed_fixed64,json=packedFixed64" json:"packed_fixed64,omitempty"`
	PackedSfixed32   []int32                              `protobuf:"fixed32,83,rep,packed,name=packed_sfixed32,json=packedSfixed32" json:"packed_sfixed32,omitempty"`
	PackedSfixed64   []int64                              `protobuf:"fixed64,84,rep,packed,name=packed_sfixed64,json=packedSfixed64" json:"packed_sfixed64,omitempty"`
	PackedFloat      []float32                            `protobuf:"fixed32,85,rep,packed,name=packed_float,json=packedFloat" json:"packed_float,omitempty"`
	PackedDouble     []float64                            `protobuf:"fixed64,86,rep,packed,name=packed_double,json=packedDouble" json:"packed_double,omitempty"`
	PackedBool       []bool                               `protobuf:"varint,87,rep,packed,name=packed_bool,json=packedBool" json:"packed_bool,omitempty"`
	PackedNestedEnum []TestAllTypesEdition2023_NestedEnum `protobuf:"varint,88,rep,packed,name=packed_nested_enum,json=packedNestedEnum,enum=protobuf_test_messages.editions.TestAllTypesEdition2023_NestedEnum" json:"packed_nested_enum,omitempty"`
	// Unpacked
	UnpackedInt32      []int32                              `protobuf:"varint,89,rep,name=unpacked_int32,json=unpackedInt32" json:"unpacked_int32,omitempty"`
	UnpackedInt64      []int64                              `protobuf:"varint,90,rep,name=unpacked_int64,json=unpackedInt64" json:"unpacked_int64,omitempty"`
	UnpackedUint32     []uint32                             `protobuf:"varint,91,rep,name=unpacked_uint32,json=unpackedUint32" json:"unpacked_uint32,omitempty"`
	UnpackedUint64     []uint64                             `protobuf:"varint,92,rep,name=unpacked_uint64,json=unpackedUint64" json:"unpacked_uint64,omitempty"`
	UnpackedSint32     []int32                              `protobuf:"zigzag32,93,rep,name=unpacked_sint32,json=unpackedSint32" json:"unpacked_sint32,omitempty"`
	UnpackedSint64     []int64                              `protobuf:"zigzag64,94,rep,name=unpacked_sint64,json=unpackedSint64" json:"unpacked_sint64,omitempty"`
	UnpackedFixed32    []uint32                             `protobuf:"fixed32,95,rep,name=unpacked_fixed32,json=unpackedFixed32" json:"unpacked_fixed32,omitempty"`
	UnpackedFixed64    []uint64                             `protobuf:"fixed64,96,rep,name=unpacked_fixed64,json=unpackedFixed64" json:"unpacked_fixed64,omitempty"`
	UnpackedSfixed32   []int32                              `protobuf:"fixed32,97,rep,name=unpacked_sfixed32,json=unpackedSfixed32" json:"unpacked_sfixed32,omitempty"`
	UnpackedSfixed64   []int64                              `protobuf:"fixed64,98,rep,name=unpacked_sfixed64,json=unpackedSfixed64" json:"unpacked_sfixed64,omitempty"`
	UnpackedFloat      []float32                            `protobuf:"fixed32,99,rep,name=unpacked_float,json=unpackedFloat" json:"unpacked_float,omitempty"`
	UnpackedDouble     []float64                            `protobuf:"fixed64,100,rep,name=unpacked_double,json=unpackedDouble" json:"unpacked_double,omitempty"`
	UnpackedBool       []bool                               `protobuf:"varint,101,rep,name=unpacked_bool,json=unpackedBool" json:"unpacked_bool,omitempty"`
	UnpackedNestedEnum []TestAllTypesEdition2023_NestedEnum `protobuf:"varint,102,rep,name=unpacked_nested_enum,json=unpackedNestedEnum,enum=protobuf_test_messages.editions.TestAllTypesEdition2023_NestedEnum" json:"unpacked_nested_enum,omitempty"`
	// Map
	MapInt32Int32           map[int32]int32                                   `protobuf:"bytes,56,rep,name=map_int32_int32,json=mapInt32Int32" json:"map_int32_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapInt64Int64           map[int64]int64                                   `protobuf:"bytes,57,rep,name=map_int64_int64,json=mapInt64Int64" json:"map_int64_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapUint32Uint32         map[uint32]uint32                                 `protobuf:"bytes,58,rep,name=map_uint32_uint32,json=mapUint32Uint32" json:"map_uint32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapUint64Uint64         map[uint64]uint64                                 `protobuf:"bytes,59,rep,name=map_uint64_uint64,json=mapUint64Uint64" json:"map_uint64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapSint32Sint32         map[int32]int32                                   `protobuf:"bytes,60,rep,name=map_sint32_sint32,json=mapSint32Sint32" json:"map_sint32_sint32,omitempty" protobuf_key:"zigzag32,1,opt,name=key" protobuf_val:"zigzag32,2,opt,name=value"`
	MapSint64Sint64         map[int64]int64                                   `protobuf:"bytes,61,rep,name=map_sint64_sint64,json=mapSint64Sint64" json:"map_sint64_sint64,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"zigzag64,2,opt,name=value"`
	MapFixed32Fixed32       map[uint32]uint32                                 `protobuf:"bytes,62,rep,name=map_fixed32_fixed32,json=mapFixed32Fixed32" json:"map_fixed32_fixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
	MapFixed64Fixed64       map[uint64]uint64                                 `protobuf:"bytes,63,rep,name=map_fixed64_fixed64,json=mapFixed64Fixed64" json:"map_fixed64_fixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	MapSfixed32Sfixed32     map[int32]int32                                   `protobuf:"bytes,64,rep,name=map_sfixed32_sfixed32,json=mapSfixed32Sfixed32" json:"map_sfixed32_sfixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
	MapSfixed64Sfixed64     map[int64]int64                                   `protobuf:"bytes,65,rep,name=map_sfixed64_sfixed64,json=mapSfixed64Sfixed64" json:"map_sfixed64_sfixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	MapInt32Float           map[int32]float32                                 `protobuf:"bytes,66,rep,name=map_int32_float,json=mapInt32Float" json:"map_int32_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
	MapInt32Double          map[int32]float64                                 `protobuf:"bytes,67,rep,name=map_int32_double,json=mapInt32Double" json:"map_int32_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	MapBoolBool             map[bool]bool                                     `protobuf:"bytes,68,rep,name=map_bool_bool,json=mapBoolBool" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapStringString         map[string]string                                 `protobuf:"bytes,69,rep,name=map_string_string,json=mapStringString" json:"map_string_string,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MapStringBytes          map[string][]byte                                 `protobuf:"bytes,70,rep,name=map_string_bytes,json=mapStringBytes" json:"map_string_bytes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MapStringNestedMessage  map[string]*TestAllTypesEdition2023_NestedMessage `protobuf:"bytes,71,rep,name=map_string_nested_message,json=mapStringNestedMessage" json:"map_string_nested_message,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MapStringForeignMessage map[string]*ForeignMessageEdition2023             `protobuf:"bytes,72,rep,name=map_string_foreign_message,json=mapStringForeignMessage" json:"map_string_foreign_message,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MapStringNestedEnum     map[string]TestAllTypesEdition2023_NestedEnum     `protobuf:"bytes,73,rep,name=map_string_nested_enum,json=mapStringNestedEnum" json:"map_string_nested_enum,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=protobuf_test_messages.editions.TestAllTypesEdition2023_NestedEnum"`
	MapStringForeignEnum    map[string]ForeignEnumEdition2023                 `protobuf:"bytes,74,rep,name=map_string_foreign_enum,json=mapStringForeignEnum" json:"map_string_foreign_enum,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=protobuf_test_messages.editions.ForeignEnumEdition2023"`
	// Types that are valid to be assigned to OneofField:
	//
	//	*TestAllTypesEdition2023_OneofUint32
	//	*TestAllTypesEdition2023_OneofNestedMessage
	//	*TestAllTypesEdition2023_OneofString
	//	*TestAllTypesEdition2023_OneofBytes
	//	*TestAllTypesEdition2023_OneofBool
	//	*TestAllTypesEdition2023_OneofUint64
	//	*TestAllTypesEdition2023_OneofFloat
	//	*TestAllTypesEdition2023_OneofDouble
	//	*TestAllTypesEdition2023_OneofEnum
	OneofField      isTestAllTypesEdition2023_OneofField   `protobuf_oneof:"oneof_field"`
	Groupliketype   *TestAllTypesEdition2023_GroupLikeType `protobuf:"group,201,opt,name=GroupLikeType,json=groupliketype" json:"groupliketype,omitempty"`
	DelimitedField  *TestAllTypesEdition2023_GroupLikeType `protobuf:"group,202,opt,name=GroupLikeType,json=delimitedField" json:"delimited_field,omitempty"`
	extensionFields protoimpl.ExtensionFields
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *TestAllTypesEdition2023) Reset() {
	*x = TestAllTypesEdition2023{}
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TestAllTypesEdition2023) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TestAllTypesEdition2023) ProtoMessage() {}

func (x *TestAllTypesEdition2023) ProtoReflect() protoreflect.Message {
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TestAllTypesEdition2023.ProtoReflect.Descriptor instead.
func (*TestAllTypesEdition2023) Descriptor() ([]byte, []int) {
	return file_conformance_test_protos_test_messages_edition2023_proto_rawDescGZIP(), []int{1}
}

func (x *TestAllTypesEdition2023) GetOptionalInt32() int32 {
	if x != nil && x.OptionalInt32 != nil {
		return *x.OptionalInt32
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalInt64() int64 {
	if x != nil && x.OptionalInt64 != nil {
		return *x.OptionalInt64
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalUint32() uint32 {
	if x != nil && x.OptionalUint32 != nil {
		return *x.OptionalUint32
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalUint64() uint64 {
	if x != nil && x.OptionalUint64 != nil {
		return *x.OptionalUint64
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalSint32() int32 {
	if x != nil && x.OptionalSint32 != nil {
		return *x.OptionalSint32
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalSint64() int64 {
	if x != nil && x.OptionalSint64 != nil {
		return *x.OptionalSint64
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalFixed32() uint32 {
	if x != nil && x.OptionalFixed32 != nil {
		return *x.OptionalFixed32
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalFixed64() uint64 {
	if x != nil && x.OptionalFixed64 != nil {
		return *x.OptionalFixed64
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalSfixed32() int32 {
	if x != nil && x.OptionalSfixed32 != nil {
		return *x.OptionalSfixed32
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalSfixed64() int64 {
	if x != nil && x.OptionalSfixed64 != nil {
		return *x.OptionalSfixed64
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalFloat() float32 {
	if x != nil && x.OptionalFloat != nil {
		return *x.OptionalFloat
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalDouble() float64 {
	if x != nil && x.OptionalDouble != nil {
		return *x.OptionalDouble
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOptionalBool() bool {
	if x != nil && x.OptionalBool != nil {
		return *x.OptionalBool
	}
	return false
}

func (x *TestAllTypesEdition2023) GetOptionalString() string {
	if x != nil && x.OptionalString != nil {
		return *x.OptionalString
	}
	return ""
}

func (x *TestAllTypesEdition2023) GetOptionalBytes() []byte {
	if x != nil {
		return x.OptionalBytes
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetOptionalNestedMessage() *TestAllTypesEdition2023_NestedMessage {
	if x != nil {
		return x.OptionalNestedMessage
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetOptionalForeignMessage() *ForeignMessageEdition2023 {
	if x != nil {
		return x.OptionalForeignMessage
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetOptionalNestedEnum() TestAllTypesEdition2023_NestedEnum {
	if x != nil && x.OptionalNestedEnum != nil {
		return *x.OptionalNestedEnum
	}
	return TestAllTypesEdition2023_FOO
}

func (x *TestAllTypesEdition2023) GetOptionalForeignEnum() ForeignEnumEdition2023 {
	if x != nil && x.OptionalForeignEnum != nil {
		return *x.OptionalForeignEnum
	}
	return ForeignEnumEdition2023_FOREIGN_FOO
}

func (x *TestAllTypesEdition2023) GetOptionalStringPiece() string {
	if x != nil && x.OptionalStringPiece != nil {
		return *x.OptionalStringPiece
	}
	return ""
}

func (x *TestAllTypesEdition2023) GetOptionalCord() string {
	if x != nil && x.OptionalCord != nil {
		return *x.OptionalCord
	}
	return ""
}

func (x *TestAllTypesEdition2023) GetRecursiveMessage() *TestAllTypesEdition2023 {
	if x != nil {
		return x.RecursiveMessage
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedInt32() []int32 {
	if x != nil {
		return x.RepeatedInt32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedInt64() []int64 {
	if x != nil {
		return x.RepeatedInt64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedUint32() []uint32 {
	if x != nil {
		return x.RepeatedUint32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedUint64() []uint64 {
	if x != nil {
		return x.RepeatedUint64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedSint32() []int32 {
	if x != nil {
		return x.RepeatedSint32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedSint64() []int64 {
	if x != nil {
		return x.RepeatedSint64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedFixed32() []uint32 {
	if x != nil {
		return x.RepeatedFixed32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedFixed64() []uint64 {
	if x != nil {
		return x.RepeatedFixed64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedSfixed32() []int32 {
	if x != nil {
		return x.RepeatedSfixed32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedSfixed64() []int64 {
	if x != nil {
		return x.RepeatedSfixed64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedFloat() []float32 {
	if x != nil {
		return x.RepeatedFloat
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedDouble() []float64 {
	if x != nil {
		return x.RepeatedDouble
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedBool() []bool {
	if x != nil {
		return x.RepeatedBool
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedString() []string {
	if x != nil {
		return x.RepeatedString
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedBytes() [][]byte {
	if x != nil {
		return x.RepeatedBytes
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedNestedMessage() []*TestAllTypesEdition2023_NestedMessage {
	if x != nil {
		return x.RepeatedNestedMessage
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedForeignMessage() []*ForeignMessageEdition2023 {
	if x != nil {
		return x.RepeatedForeignMessage
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedNestedEnum() []TestAllTypesEdition2023_NestedEnum {
	if x != nil {
		return x.RepeatedNestedEnum
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedForeignEnum() []ForeignEnumEdition2023 {
	if x != nil {
		return x.RepeatedForeignEnum
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedStringPiece() []string {
	if x != nil {
		return x.RepeatedStringPiece
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetRepeatedCord() []string {
	if x != nil {
		return x.RepeatedCord
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedInt32() []int32 {
	if x != nil {
		return x.PackedInt32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedInt64() []int64 {
	if x != nil {
		return x.PackedInt64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedUint32() []uint32 {
	if x != nil {
		return x.PackedUint32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedUint64() []uint64 {
	if x != nil {
		return x.PackedUint64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedSint32() []int32 {
	if x != nil {
		return x.PackedSint32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedSint64() []int64 {
	if x != nil {
		return x.PackedSint64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedFixed32() []uint32 {
	if x != nil {
		return x.PackedFixed32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedFixed64() []uint64 {
	if x != nil {
		return x.PackedFixed64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedSfixed32() []int32 {
	if x != nil {
		return x.PackedSfixed32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedSfixed64() []int64 {
	if x != nil {
		return x.PackedSfixed64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedFloat() []float32 {
	if x != nil {
		return x.PackedFloat
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedDouble() []float64 {
	if x != nil {
		return x.PackedDouble
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedBool() []bool {
	if x != nil {
		return x.PackedBool
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetPackedNestedEnum() []TestAllTypesEdition2023_NestedEnum {
	if x != nil {
		return x.PackedNestedEnum
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedInt32() []int32 {
	if x != nil {
		return x.UnpackedInt32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedInt64() []int64 {
	if x != nil {
		return x.UnpackedInt64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedUint32() []uint32 {
	if x != nil {
		return x.UnpackedUint32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedUint64() []uint64 {
	if x != nil {
		return x.UnpackedUint64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedSint32() []int32 {
	if x != nil {
		return x.UnpackedSint32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedSint64() []int64 {
	if x != nil {
		return x.UnpackedSint64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedFixed32() []uint32 {
	if x != nil {
		return x.UnpackedFixed32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedFixed64() []uint64 {
	if x != nil {
		return x.UnpackedFixed64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedSfixed32() []int32 {
	if x != nil {
		return x.UnpackedSfixed32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedSfixed64() []int64 {
	if x != nil {
		return x.UnpackedSfixed64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedFloat() []float32 {
	if x != nil {
		return x.UnpackedFloat
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedDouble() []float64 {
	if x != nil {
		return x.UnpackedDouble
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedBool() []bool {
	if x != nil {
		return x.UnpackedBool
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetUnpackedNestedEnum() []TestAllTypesEdition2023_NestedEnum {
	if x != nil {
		return x.UnpackedNestedEnum
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapInt32Int32() map[int32]int32 {
	if x != nil {
		return x.MapInt32Int32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapInt64Int64() map[int64]int64 {
	if x != nil {
		return x.MapInt64Int64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapUint32Uint32() map[uint32]uint32 {
	if x != nil {
		return x.MapUint32Uint32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapUint64Uint64() map[uint64]uint64 {
	if x != nil {
		return x.MapUint64Uint64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapSint32Sint32() map[int32]int32 {
	if x != nil {
		return x.MapSint32Sint32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapSint64Sint64() map[int64]int64 {
	if x != nil {
		return x.MapSint64Sint64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapFixed32Fixed32() map[uint32]uint32 {
	if x != nil {
		return x.MapFixed32Fixed32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapFixed64Fixed64() map[uint64]uint64 {
	if x != nil {
		return x.MapFixed64Fixed64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapSfixed32Sfixed32() map[int32]int32 {
	if x != nil {
		return x.MapSfixed32Sfixed32
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapSfixed64Sfixed64() map[int64]int64 {
	if x != nil {
		return x.MapSfixed64Sfixed64
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapInt32Float() map[int32]float32 {
	if x != nil {
		return x.MapInt32Float
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapInt32Double() map[int32]float64 {
	if x != nil {
		return x.MapInt32Double
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapBoolBool() map[bool]bool {
	if x != nil {
		return x.MapBoolBool
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapStringString() map[string]string {
	if x != nil {
		return x.MapStringString
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapStringBytes() map[string][]byte {
	if x != nil {
		return x.MapStringBytes
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapStringNestedMessage() map[string]*TestAllTypesEdition2023_NestedMessage {
	if x != nil {
		return x.MapStringNestedMessage
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapStringForeignMessage() map[string]*ForeignMessageEdition2023 {
	if x != nil {
		return x.MapStringForeignMessage
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapStringNestedEnum() map[string]TestAllTypesEdition2023_NestedEnum {
	if x != nil {
		return x.MapStringNestedEnum
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetMapStringForeignEnum() map[string]ForeignEnumEdition2023 {
	if x != nil {
		return x.MapStringForeignEnum
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetOneofField() isTestAllTypesEdition2023_OneofField {
	if x != nil {
		return x.OneofField
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetOneofUint32() uint32 {
	if x != nil {
		if x, ok := x.OneofField.(*TestAllTypesEdition2023_OneofUint32); ok {
			return x.OneofUint32
		}
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOneofNestedMessage() *TestAllTypesEdition2023_NestedMessage {
	if x != nil {
		if x, ok := x.OneofField.(*TestAllTypesEdition2023_OneofNestedMessage); ok {
			return x.OneofNestedMessage
		}
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetOneofString() string {
	if x != nil {
		if x, ok := x.OneofField.(*TestAllTypesEdition2023_OneofString); ok {
			return x.OneofString
		}
	}
	return ""
}

func (x *TestAllTypesEdition2023) GetOneofBytes() []byte {
	if x != nil {
		if x, ok := x.OneofField.(*TestAllTypesEdition2023_OneofBytes); ok {
			return x.OneofBytes
		}
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetOneofBool() bool {
	if x != nil {
		if x, ok := x.OneofField.(*TestAllTypesEdition2023_OneofBool); ok {
			return x.OneofBool
		}
	}
	return false
}

func (x *TestAllTypesEdition2023) GetOneofUint64() uint64 {
	if x != nil {
		if x, ok := x.OneofField.(*TestAllTypesEdition2023_OneofUint64); ok {
			return x.OneofUint64
		}
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOneofFloat() float32 {
	if x != nil {
		if x, ok := x.OneofField.(*TestAllTypesEdition2023_OneofFloat); ok {
			return x.OneofFloat
		}
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOneofDouble() float64 {
	if x != nil {
		if x, ok := x.OneofField.(*TestAllTypesEdition2023_OneofDouble); ok {
			return x.OneofDouble
		}
	}
	return 0
}

func (x *TestAllTypesEdition2023) GetOneofEnum() TestAllTypesEdition2023_NestedEnum {
	if x != nil {
		if x, ok := x.OneofField.(*TestAllTypesEdition2023_OneofEnum); ok {
			return x.OneofEnum
		}
	}
	return TestAllTypesEdition2023_FOO
}

func (x *TestAllTypesEdition2023) GetGroupliketype() *TestAllTypesEdition2023_GroupLikeType {
	if x != nil {
		return x.Groupliketype
	}
	return nil
}

func (x *TestAllTypesEdition2023) GetDelimitedField() *TestAllTypesEdition2023_GroupLikeType {
	if x != nil {
		return x.DelimitedField
	}
	return nil
}

type isTestAllTypesEdition2023_OneofField interface {
	isTestAllTypesEdition2023_OneofField()
}

type TestAllTypesEdition2023_OneofUint32 struct {
	OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,oneof"`
}

type TestAllTypesEdition2023_OneofNestedMessage struct {
	OneofNestedMessage *TestAllTypesEdition2023_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,oneof"`
}

type TestAllTypesEdition2023_OneofString struct {
	OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,oneof"`
}

type TestAllTypesEdition2023_OneofBytes struct {
	OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,oneof"`
}

type TestAllTypesEdition2023_OneofBool struct {
	OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,oneof"`
}

type TestAllTypesEdition2023_OneofUint64 struct {
	OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,oneof"`
}

type TestAllTypesEdition2023_OneofFloat struct {
	OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,oneof"`
}

type TestAllTypesEdition2023_OneofDouble struct {
	OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,oneof"`
}

type TestAllTypesEdition2023_OneofEnum struct {
	OneofEnum TestAllTypesEdition2023_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,enum=protobuf_test_messages.editions.TestAllTypesEdition2023_NestedEnum,oneof"`
}

func (*TestAllTypesEdition2023_OneofUint32) isTestAllTypesEdition2023_OneofField() {}

func (*TestAllTypesEdition2023_OneofNestedMessage) isTestAllTypesEdition2023_OneofField() {}

func (*TestAllTypesEdition2023_OneofString) isTestAllTypesEdition2023_OneofField() {}

func (*TestAllTypesEdition2023_OneofBytes) isTestAllTypesEdition2023_OneofField() {}

func (*TestAllTypesEdition2023_OneofBool) isTestAllTypesEdition2023_OneofField() {}

func (*TestAllTypesEdition2023_OneofUint64) isTestAllTypesEdition2023_OneofField() {}

func (*TestAllTypesEdition2023_OneofFloat) isTestAllTypesEdition2023_OneofField() {}

func (*TestAllTypesEdition2023_OneofDouble) isTestAllTypesEdition2023_OneofField() {}

func (*TestAllTypesEdition2023_OneofEnum) isTestAllTypesEdition2023_OneofField() {}

type ForeignMessageEdition2023 struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	C             *int32                 `protobuf:"varint,1,opt,name=c" json:"c,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ForeignMessageEdition2023) Reset() {
	*x = ForeignMessageEdition2023{}
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ForeignMessageEdition2023) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ForeignMessageEdition2023) ProtoMessage() {}

func (x *ForeignMessageEdition2023) ProtoReflect() protoreflect.Message {
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ForeignMessageEdition2023.ProtoReflect.Descriptor instead.
func (*ForeignMessageEdition2023) Descriptor() ([]byte, []int) {
	return file_conformance_test_protos_test_messages_edition2023_proto_rawDescGZIP(), []int{2}
}

func (x *ForeignMessageEdition2023) GetC() int32 {
	if x != nil && x.C != nil {
		return *x.C
	}
	return 0
}

type GroupLikeType struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	C             *int32                 `protobuf:"varint,1,opt,name=c" json:"c,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupLikeType) Reset() {
	*x = GroupLikeType{}
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GroupLikeType) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GroupLikeType) ProtoMessage() {}

func (x *GroupLikeType) ProtoReflect() protoreflect.Message {
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GroupLikeType.ProtoReflect.Descriptor instead.
func (*GroupLikeType) Descriptor() ([]byte, []int) {
	return file_conformance_test_protos_test_messages_edition2023_proto_rawDescGZIP(), []int{3}
}

func (x *GroupLikeType) GetC() int32 {
	if x != nil && x.C != nil {
		return *x.C
	}
	return 0
}

type TestAllTypesEdition2023_NestedMessage struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	A             *int32                   `protobuf:"varint,1,opt,name=a" json:"a,omitempty"`
	Corecursive   *TestAllTypesEdition2023 `protobuf:"bytes,2,opt,name=corecursive" json:"corecursive,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TestAllTypesEdition2023_NestedMessage) Reset() {
	*x = TestAllTypesEdition2023_NestedMessage{}
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TestAllTypesEdition2023_NestedMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TestAllTypesEdition2023_NestedMessage) ProtoMessage() {}

func (x *TestAllTypesEdition2023_NestedMessage) ProtoReflect() protoreflect.Message {
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TestAllTypesEdition2023_NestedMessage.ProtoReflect.Descriptor instead.
func (*TestAllTypesEdition2023_NestedMessage) Descriptor() ([]byte, []int) {
	return file_conformance_test_protos_test_messages_edition2023_proto_rawDescGZIP(), []int{1, 0}
}

func (x *TestAllTypesEdition2023_NestedMessage) GetA() int32 {
	if x != nil && x.A != nil {
		return *x.A
	}
	return 0
}

func (x *TestAllTypesEdition2023_NestedMessage) GetCorecursive() *TestAllTypesEdition2023 {
	if x != nil {
		return x.Corecursive
	}
	return nil
}

// groups
type TestAllTypesEdition2023_GroupLikeType struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GroupInt32    *int32                 `protobuf:"varint,202,opt,name=group_int32,json=groupInt32" json:"group_int32,omitempty"`
	GroupUint32   *uint32                `protobuf:"varint,203,opt,name=group_uint32,json=groupUint32" json:"group_uint32,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TestAllTypesEdition2023_GroupLikeType) Reset() {
	*x = TestAllTypesEdition2023_GroupLikeType{}
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TestAllTypesEdition2023_GroupLikeType) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TestAllTypesEdition2023_GroupLikeType) ProtoMessage() {}

func (x *TestAllTypesEdition2023_GroupLikeType) ProtoReflect() protoreflect.Message {
	mi := &file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TestAllTypesEdition2023_GroupLikeType.ProtoReflect.Descriptor instead.
func (*TestAllTypesEdition2023_GroupLikeType) Descriptor() ([]byte, []int) {
	return file_conformance_test_protos_test_messages_edition2023_proto_rawDescGZIP(), []int{1, 20}
}

func (x *TestAllTypesEdition2023_GroupLikeType) GetGroupInt32() int32 {
	if x != nil && x.GroupInt32 != nil {
		return *x.GroupInt32
	}
	return 0
}

func (x *TestAllTypesEdition2023_GroupLikeType) GetGroupUint32() uint32 {
	if x != nil && x.GroupUint32 != nil {
		return *x.GroupUint32
	}
	return 0
}

var file_conformance_test_protos_test_messages_edition2023_proto_extTypes = []protoimpl.ExtensionInfo{
	{
		ExtendedType:  (*TestAllTypesEdition2023)(nil),
		ExtensionType: (*int32)(nil),
		Field:         120,
		Name:          "protobuf_test_messages.editions.extension_int32",
		Tag:           "varint,120,opt,name=extension_int32",
		Filename:      "conformance/test_protos/test_messages_edition2023.proto",
	},
	{
		ExtendedType:  (*TestAllTypesEdition2023)(nil),
		ExtensionType: (*GroupLikeType)(nil),
		Field:         121,
		Name:          "protobuf_test_messages.editions.groupliketype",
		Tag:           "group,121,opt,name=GroupLikeType",
		Filename:      "conformance/test_protos/test_messages_edition2023.proto",
	},
	{
		ExtendedType:  (*TestAllTypesEdition2023)(nil),
		ExtensionType: (*GroupLikeType)(nil),
		Field:         122,
		Name:          "protobuf_test_messages.editions.delimited_ext",
		Tag:           "group,122,opt,name=GroupLikeType",
		Filename:      "conformance/test_protos/test_messages_edition2023.proto",
	},
}

// Extension fields to TestAllTypesEdition2023.
var (
	// optional int32 extension_int32 = 120;
	E_ExtensionInt32 = &file_conformance_test_protos_test_messages_edition2023_proto_extTypes[0]
	// optional protobuf_test_messages.editions.GroupLikeType groupliketype = 121;
	E_Groupliketype = &file_conformance_test_protos_test_messages_edition2023_proto_extTypes[1]
	// optional protobuf_test_messages.editions.GroupLikeType delimited_ext = 122;
	E_DelimitedExt = &file_conformance_test_protos_test_messages_edition2023_proto_extTypes[2]
)

var File_conformance_test_protos_test_messages_edition2023_proto protoreflect.FileDescriptor

const file_conformance_test_protos_test_messages_edition2023_proto_rawDesc = "" +
	"\n" +
	"7conformance/test_protos/test_messages_edition2023.proto\x12\x1fprotobuf_test_messages.editions\"\x1e\n" +
	"\x0eComplexMessage\x12\f\n" +
	"\x01d\x18\x01 \x01(\x05R\x01d\"\x9fF\n" +
	"\x17TestAllTypesEdition2023\x12%\n" +
	"\x0eoptional_int32\x18\x01 \x01(\x05R\roptionalInt32\x12%\n" +
	"\x0eoptional_int64\x18\x02 \x01(\x03R\roptionalInt64\x12'\n" +
	"\x0foptional_uint32\x18\x03 \x01(\rR\x0eoptionalUint32\x12'\n" +
	"\x0foptional_uint64\x18\x04 \x01(\x04R\x0eoptionalUint64\x12'\n" +
	"\x0foptional_sint32\x18\x05 \x01(\x11R\x0eoptionalSint32\x12'\n" +
	"\x0foptional_sint64\x18\x06 \x01(\x12R\x0eoptionalSint64\x12)\n" +
	"\x10optional_fixed32\x18\a \x01(\aR\x0foptionalFixed32\x12)\n" +
	"\x10optional_fixed64\x18\b \x01(\x06R\x0foptionalFixed64\x12+\n" +
	"\x11optional_sfixed32\x18\t \x01(\x0fR\x10optionalSfixed32\x12+\n" +
	"\x11optional_sfixed64\x18\n" +
	" \x01(\x10R\x10optionalSfixed64\x12%\n" +
	"\x0eoptional_float\x18\v \x01(\x02R\roptionalFloat\x12'\n" +
	"\x0foptional_double\x18\f \x01(\x01R\x0eoptionalDouble\x12#\n" +
	"\roptional_bool\x18\r \x01(\bR\foptionalBool\x12'\n" +
	"\x0foptional_string\x18\x0e \x01(\tR\x0eoptionalString\x12%\n" +
	"\x0eoptional_bytes\x18\x0f \x01(\fR\roptionalBytes\x12\x85\x01\n" +
	"\x17optional_nested_message\x18\x12 \x01(\v2F.protobuf_test_messages.editions.TestAllTypesEdition2023.NestedMessageB\x05\xaa\x01\x02(\x01R\x15optionalNestedMessage\x12{\n" +
	"\x18optional_foreign_message\x18\x13 \x01(\v2:.protobuf_test_messages.editions.ForeignMessageEdition2023B\x05\xaa\x01\x02(\x01R\x16optionalForeignMessage\x12u\n" +
	"\x14optional_nested_enum\x18\x15 \x01(\x0e2C.protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnumR\x12optionalNestedEnum\x12k\n" +
	"\x15optional_foreign_enum\x18\x16 \x01(\x0e27.protobuf_test_messages.editions.ForeignEnumEdition2023R\x13optionalForeignEnum\x126\n" +
	"\x15optional_string_piece\x18\x18 \x01(\tB\x02\b\x02R\x13optionalStringPiece\x12'\n" +
	"\roptional_cord\x18\x19 \x01(\tB\x02\b\x01R\foptionalCord\x12l\n" +
	"\x11recursive_message\x18\x1b \x01(\v28.protobuf_test_messages.editions.TestAllTypesEdition2023B\x05\xaa\x01\x02(\x01R\x10recursiveMessage\x12%\n" +
	"\x0erepeated_int32\x18\x1f \x03(\x05R\rrepeatedInt32\x12%\n" +
	"\x0erepeated_int64\x18  \x03(\x03R\rrepeatedInt64\x12'\n" +
	"\x0frepeated_uint32\x18! \x03(\rR\x0erepeatedUint32\x12'\n" +
	"\x0frepeated_uint64\x18\" \x03(\x04R\x0erepeatedUint64\x12'\n" +
	"\x0frepeated_sint32\x18# \x03(\x11R\x0erepeatedSint32\x12'\n" +
	"\x0frepeated_sint64\x18$ \x03(\x12R\x0erepeatedSint64\x12)\n" +
	"\x10repeated_fixed32\x18% \x03(\aR\x0frepeatedFixed32\x12)\n" +
	"\x10repeated_fixed64\x18& \x03(\x06R\x0frepeatedFixed64\x12+\n" +
	"\x11repeated_sfixed32\x18' \x03(\x0fR\x10repeatedSfixed32\x12+\n" +
	"\x11repeated_sfixed64\x18( \x03(\x10R\x10repeatedSfixed64\x12%\n" +
	"\x0erepeated_float\x18) \x03(\x02R\rrepeatedFloat\x12'\n" +
	"\x0frepeated_double\x18* \x03(\x01R\x0erepeatedDouble\x12#\n" +
	"\rrepeated_bool\x18+ \x03(\bR\frepeatedBool\x12'\n" +
	"\x0frepeated_string\x18, \x03(\tR\x0erepeatedString\x12%\n" +
	"\x0erepeated_bytes\x18- \x03(\fR\rrepeatedBytes\x12\x85\x01\n" +
	"\x17repeated_nested_message\x180 \x03(\v2F.protobuf_test_messages.editions.TestAllTypesEdition2023.NestedMessageB\x05\xaa\x01\x02(\x01R\x15repeatedNestedMessage\x12{\n" +
	"\x18repeated_foreign_message\x181 \x03(\v2:.protobuf_test_messages.editions.ForeignMessageEdition2023B\x05\xaa\x01\x02(\x01R\x16repeatedForeignMessage\x12u\n" +
	"\x14repeated_nested_enum\x183 \x03(\x0e2C.protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnumR\x12repeatedNestedEnum\x12k\n" +
	"\x15repeated_foreign_enum\x184 \x03(\x0e27.protobuf_test_messages.editions.ForeignEnumEdition2023R\x13repeatedForeignEnum\x126\n" +
	"\x15repeated_string_piece\x186 \x03(\tB\x02\b\x02R\x13repeatedStringPiece\x12'\n" +
	"\rrepeated_cord\x187 \x03(\tB\x02\b\x01R\frepeatedCord\x12(\n" +
	"\fpacked_int32\x18K \x03(\x05B\x05\xaa\x01\x02\x18\x01R\vpackedInt32\x12(\n" +
	"\fpacked_int64\x18L \x03(\x03B\x05\xaa\x01\x02\x18\x01R\vpackedInt64\x12*\n" +
	"\rpacked_uint32\x18M \x03(\rB\x05\xaa\x01\x02\x18\x01R\fpackedUint32\x12*\n" +
	"\rpacked_uint64\x18N \x03(\x04B\x05\xaa\x01\x02\x18\x01R\fpackedUint64\x12*\n" +
	"\rpacked_sint32\x18O \x03(\x11B\x05\xaa\x01\x02\x18\x01R\fpackedSint32\x12*\n" +
	"\rpacked_sint64\x18P \x03(\x12B\x05\xaa\x01\x02\x18\x01R\fpackedSint64\x12,\n" +
	"\x0epacked_fixed32\x18Q \x03(\aB\x05\xaa\x01\x02\x18\x01R\rpackedFixed32\x12,\n" +
	"\x0epacked_fixed64\x18R \x03(\x06B\x05\xaa\x01\x02\x18\x01R\rpackedFixed64\x12.\n" +
	"\x0fpacked_sfixed32\x18S \x03(\x0fB\x05\xaa\x01\x02\x18\x01R\x0epackedSfixed32\x12.\n" +
	"\x0fpacked_sfixed64\x18T \x03(\x10B\x05\xaa\x01\x02\x18\x01R\x0epackedSfixed64\x12(\n" +
	"\fpacked_float\x18U \x03(\x02B\x05\xaa\x01\x02\x18\x01R\vpackedFloat\x12*\n" +
	"\rpacked_double\x18V \x03(\x01B\x05\xaa\x01\x02\x18\x01R\fpackedDouble\x12&\n" +
	"\vpacked_bool\x18W \x03(\bB\x05\xaa\x01\x02\x18\x01R\n" +
	"packedBool\x12x\n" +
	"\x12packed_nested_enum\x18X \x03(\x0e2C.protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnumB\x05\xaa\x01\x02\x18\x01R\x10packedNestedEnum\x12,\n" +
	"\x0eunpacked_int32\x18Y \x03(\x05B\x05\xaa\x01\x02\x18\x02R\runpackedInt32\x12,\n" +
	"\x0eunpacked_int64\x18Z \x03(\x03B\x05\xaa\x01\x02\x18\x02R\runpackedInt64\x12.\n" +
	"\x0funpacked_uint32\x18[ \x03(\rB\x05\xaa\x01\x02\x18\x02R\x0eunpackedUint32\x12.\n" +
	"\x0funpacked_uint64\x18\\ \x03(\x04B\x05\xaa\x01\x02\x18\x02R\x0eunpackedUint64\x12.\n" +
	"\x0funpacked_sint32\x18] \x03(\x11B\x05\xaa\x01\x02\x18\x02R\x0eunpackedSint32\x12.\n" +
	"\x0funpacked_sint64\x18^ \x03(\x12B\x05\xaa\x01\x02\x18\x02R\x0eunpackedSint64\x120\n" +
	"\x10unpacked_fixed32\x18_ \x03(\aB\x05\xaa\x01\x02\x18\x02R\x0funpackedFixed32\x120\n" +
	"\x10unpacked_fixed64\x18` \x03(\x06B\x05\xaa\x01\x02\x18\x02R\x0funpackedFixed64\x122\n" +
	"\x11unpacked_sfixed32\x18a \x03(\x0fB\x05\xaa\x01\x02\x18\x02R\x10unpackedSfixed32\x122\n" +
	"\x11unpacked_sfixed64\x18b \x03(\x10B\x05\xaa\x01\x02\x18\x02R\x10unpackedSfixed64\x12,\n" +
	"\x0eunpacked_float\x18c \x03(\x02B\x05\xaa\x01\x02\x18\x02R\runpackedFloat\x12.\n" +
	"\x0funpacked_double\x18d \x03(\x01B\x05\xaa\x01\x02\x18\x02R\x0eunpackedDouble\x12*\n" +
	"\runpacked_bool\x18e \x03(\bB\x05\xaa\x01\x02\x18\x02R\funpackedBool\x12|\n" +
	"\x14unpacked_nested_enum\x18f \x03(\x0e2C.protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnumB\x05\xaa\x01\x02\x18\x02R\x12unpackedNestedEnum\x12s\n" +
	"\x0fmap_int32_int32\x188 \x03(\v2K.protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt32Int32EntryR\rmapInt32Int32\x12s\n" +
	"\x0fmap_int64_int64\x189 \x03(\v2K.protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt64Int64EntryR\rmapInt64Int64\x12y\n" +
	"\x11map_uint32_uint32\x18: \x03(\v2M.protobuf_test_messages.editions.TestAllTypesEdition2023.MapUint32Uint32EntryR\x0fmapUint32Uint32\x12y\n" +
	"\x11map_uint64_uint64\x18; \x03(\v2M.protobuf_test_messages.editions.TestAllTypesEdition2023.MapUint64Uint64EntryR\x0fmapUint64Uint64\x12y\n" +
	"\x11map_sint32_sint32\x18< \x03(\v2M.protobuf_test_messages.editions.TestAllTypesEdition2023.MapSint32Sint32EntryR\x0fmapSint32Sint32\x12y\n" +
	"\x11map_sint64_sint64\x18= \x03(\v2M.protobuf_test_messages.editions.TestAllTypesEdition2023.MapSint64Sint64EntryR\x0fmapSint64Sint64\x12\x7f\n" +
	"\x13map_fixed32_fixed32\x18> \x03(\v2O.protobuf_test_messages.editions.TestAllTypesEdition2023.MapFixed32Fixed32EntryR\x11mapFixed32Fixed32\x12\x7f\n" +
	"\x13map_fixed64_fixed64\x18? \x03(\v2O.protobuf_test_messages.editions.TestAllTypesEdition2023.MapFixed64Fixed64EntryR\x11mapFixed64Fixed64\x12\x85\x01\n" +
	"\x15map_sfixed32_sfixed32\x18@ \x03(\v2Q.protobuf_test_messages.editions.TestAllTypesEdition2023.MapSfixed32Sfixed32EntryR\x13mapSfixed32Sfixed32\x12\x85\x01\n" +
	"\x15map_sfixed64_sfixed64\x18A \x03(\v2Q.protobuf_test_messages.editions.TestAllTypesEdition2023.MapSfixed64Sfixed64EntryR\x13mapSfixed64Sfixed64\x12s\n" +
	"\x0fmap_int32_float\x18B \x03(\v2K.protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt32FloatEntryR\rmapInt32Float\x12v\n" +
	"\x10map_int32_double\x18C \x03(\v2L.protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt32DoubleEntryR\x0emapInt32Double\x12m\n" +
	"\rmap_bool_bool\x18D \x03(\v2I.protobuf_test_messages.editions.TestAllTypesEdition2023.MapBoolBoolEntryR\vmapBoolBool\x12y\n" +
	"\x11map_string_string\x18E \x03(\v2M.protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringStringEntryR\x0fmapStringString\x12v\n" +
	"\x10map_string_bytes\x18F \x03(\v2L.protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringBytesEntryR\x0emapStringBytes\x12\x8f\x01\n" +
	"\x19map_string_nested_message\x18G \x03(\v2T.protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringNestedMessageEntryR\x16mapStringNestedMessage\x12\x92\x01\n" +
	"\x1amap_string_foreign_message\x18H \x03(\v2U.protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringForeignMessageEntryR\x17mapStringForeignMessage\x12\x86\x01\n" +
	"\x16map_string_nested_enum\x18I \x03(\v2Q.protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringNestedEnumEntryR\x13mapStringNestedEnum\x12\x89\x01\n" +
	"\x17map_string_foreign_enum\x18J \x03(\v2R.protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringForeignEnumEntryR\x14mapStringForeignEnum\x12#\n" +
	"\foneof_uint32\x18o \x01(\rH\x00R\voneofUint32\x12\x81\x01\n" +
	"\x14oneof_nested_message\x18p \x01(\v2F.protobuf_test_messages.editions.TestAllTypesEdition2023.NestedMessageB\x05\xaa\x01\x02(\x01H\x00R\x12oneofNestedMessage\x12#\n" +
	"\foneof_string\x18q \x01(\tH\x00R\voneofString\x12!\n" +
	"\voneof_bytes\x18r \x01(\fH\x00R\n" +
	"oneofBytes\x12\x1f\n" +
	"\n" +
	"oneof_bool\x18s \x01(\bH\x00R\toneofBool\x12#\n" +
	"\foneof_uint64\x18t \x01(\x04H\x00R\voneofUint64\x12!\n" +
	"\voneof_float\x18u \x01(\x02H\x00R\n" +
	"oneofFloat\x12#\n" +
	"\foneof_double\x18v \x01(\x01H\x00R\voneofDouble\x12d\n" +
	"\n" +
	"oneof_enum\x18w \x01(\x0e2C.protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnumH\x00R\toneofEnum\x12m\n" +
	"\rgroupliketype\x18\xc9\x01 \x01(\v2F.protobuf_test_messages.editions.TestAllTypesEdition2023.GroupLikeTypeR\rgroupliketype\x12p\n" +
	"\x0fdelimited_field\x18\xca\x01 \x01(\v2F.protobuf_test_messages.editions.TestAllTypesEdition2023.GroupLikeTypeR\x0edelimitedField\x1a\x80\x01\n" +
	"\rNestedMessage\x12\f\n" +
	"\x01a\x18\x01 \x01(\x05R\x01a\x12a\n" +
	"\vcorecursive\x18\x02 \x01(\v28.protobuf_test_messages.editions.TestAllTypesEdition2023B\x05\xaa\x01\x02(\x01R\vcorecursive\x1a@\n" +
	"\x12MapInt32Int32Entry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\x1a@\n" +
	"\x12MapInt64Int64Entry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x03R\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\x1aB\n" +
	"\x14MapUint32Uint32Entry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\rR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\rR\x05value:\x028\x01\x1aB\n" +
	"\x14MapUint64Uint64Entry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x04R\x05value:\x028\x01\x1aB\n" +
	"\x14MapSint32Sint32Entry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x11R\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x11R\x05value:\x028\x01\x1aB\n" +
	"\x14MapSint64Sint64Entry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x12R\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x12R\x05value:\x028\x01\x1aD\n" +
	"\x16MapFixed32Fixed32Entry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\aR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\aR\x05value:\x028\x01\x1aD\n" +
	"\x16MapFixed64Fixed64Entry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x06R\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x06R\x05value:\x028\x01\x1aF\n" +
	"\x18MapSfixed32Sfixed32Entry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x0fR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x0fR\x05value:\x028\x01\x1aF\n" +
	"\x18MapSfixed64Sfixed64Entry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x10R\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x10R\x05value:\x028\x01\x1a@\n" +
	"\x12MapInt32FloatEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x02R\x05value:\x028\x01\x1aA\n" +
	"\x13MapInt32DoubleEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x01R\x05value:\x028\x01\x1a>\n" +
	"\x10MapBoolBoolEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\bR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\x1aB\n" +
	"\x14MapStringStringEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aA\n" +
	"\x13MapStringBytesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\x1a\x91\x01\n" +
	"\x1bMapStringNestedMessageEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\\\n" +
	"\x05value\x18\x02 \x01(\v2F.protobuf_test_messages.editions.TestAllTypesEdition2023.NestedMessageR\x05value:\x028\x01\x1a\x86\x01\n" +
	"\x1cMapStringForeignMessageEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12P\n" +
	"\x05value\x18\x02 \x01(\v2:.protobuf_test_messages.editions.ForeignMessageEdition2023R\x05value:\x028\x01\x1a\x8b\x01\n" +
	"\x18MapStringNestedEnumEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12Y\n" +
	"\x05value\x18\x02 \x01(\x0e2C.protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnumR\x05value:\x028\x01\x1a\x80\x01\n" +
	"\x19MapStringForeignEnumEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12M\n" +
	"\x05value\x18\x02 \x01(\x0e27.protobuf_test_messages.editions.ForeignEnumEdition2023R\x05value:\x028\x01\x1aU\n" +
	"\rGroupLikeType\x12 \n" +
	"\vgroup_int32\x18\xca\x01 \x01(\x05R\n" +
	"groupInt32\x12\"\n" +
	"\fgroup_uint32\x18\xcb\x01 \x01(\rR\vgroupUint32\"9\n" +
	"\n" +
	"NestedEnum\x12\a\n" +
	"\x03FOO\x10\x00\x12\a\n" +
	"\x03BAR\x10\x01\x12\a\n" +
	"\x03BAZ\x10\x02\x12\x10\n" +
	"\x03NEG\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01*\x05\bx\x10\xc9\x01B\r\n" +
	"\voneof_field\")\n" +
	"\x19ForeignMessageEdition2023\x12\f\n" +
	"\x01c\x18\x01 \x01(\x05R\x01c\"\x1d\n" +
	"\rGroupLikeType\x12\f\n" +
	"\x01c\x18\x01 \x01(\x05R\x01c*K\n" +
	"\x16ForeignEnumEdition2023\x12\x0f\n" +
	"\vFOREIGN_FOO\x10\x00\x12\x0f\n" +
	"\vFOREIGN_BAR\x10\x01\x12\x0f\n" +
	"\vFOREIGN_BAZ\x10\x02:a\n" +
	"\x0fextension_int32\x128.protobuf_test_messages.editions.TestAllTypesEdition2023\x18x \x01(\x05R\x0eextensionInt32:\x8e\x01\n" +
	"\rgroupliketype\x128.protobuf_test_messages.editions.TestAllTypesEdition2023\x18y \x01(\v2..protobuf_test_messages.editions.GroupLikeTypeR\rgroupliketype:\x8d\x01\n" +
	"\rdelimited_ext\x128.protobuf_test_messages.editions.TestAllTypesEdition2023\x18z \x01(\v2..protobuf_test_messages.editions.GroupLikeTypeR\fdelimitedExtBA\n" +
	"-com.google.protobuf_test_messages.edition2023P\x01\xa2\x02\bEditions\x92\x03\x02(\x02b\beditionsp\xe8\a"

var (
	file_conformance_test_protos_test_messages_edition2023_proto_rawDescOnce sync.Once
	file_conformance_test_protos_test_messages_edition2023_proto_rawDescData []byte
)

func file_conformance_test_protos_test_messages_edition2023_proto_rawDescGZIP() []byte {
	file_conformance_test_protos_test_messages_edition2023_proto_rawDescOnce.Do(func() {
		file_conformance_test_protos_test_messages_edition2023_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_conformance_test_protos_test_messages_edition2023_proto_rawDesc), len(file_conformance_test_protos_test_messages_edition2023_proto_rawDesc)))
	})
	return file_conformance_test_protos_test_messages_edition2023_proto_rawDescData
}

var file_conformance_test_protos_test_messages_edition2023_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_conformance_test_protos_test_messages_edition2023_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
var file_conformance_test_protos_test_messages_edition2023_proto_goTypes = []any{
	(ForeignEnumEdition2023)(0),                   // 0: protobuf_test_messages.editions.ForeignEnumEdition2023
	(TestAllTypesEdition2023_NestedEnum)(0),       // 1: protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnum
	(*ComplexMessage)(nil),                        // 2: protobuf_test_messages.editions.ComplexMessage
	(*TestAllTypesEdition2023)(nil),               // 3: protobuf_test_messages.editions.TestAllTypesEdition2023
	(*ForeignMessageEdition2023)(nil),             // 4: protobuf_test_messages.editions.ForeignMessageEdition2023
	(*GroupLikeType)(nil),                         // 5: protobuf_test_messages.editions.GroupLikeType
	(*TestAllTypesEdition2023_NestedMessage)(nil), // 6: protobuf_test_messages.editions.TestAllTypesEdition2023.NestedMessage
	nil, // 7: protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt32Int32Entry
	nil, // 8: protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt64Int64Entry
	nil, // 9: protobuf_test_messages.editions.TestAllTypesEdition2023.MapUint32Uint32Entry
	nil, // 10: protobuf_test_messages.editions.TestAllTypesEdition2023.MapUint64Uint64Entry
	nil, // 11: protobuf_test_messages.editions.TestAllTypesEdition2023.MapSint32Sint32Entry
	nil, // 12: protobuf_test_messages.editions.TestAllTypesEdition2023.MapSint64Sint64Entry
	nil, // 13: protobuf_test_messages.editions.TestAllTypesEdition2023.MapFixed32Fixed32Entry
	nil, // 14: protobuf_test_messages.editions.TestAllTypesEdition2023.MapFixed64Fixed64Entry
	nil, // 15: protobuf_test_messages.editions.TestAllTypesEdition2023.MapSfixed32Sfixed32Entry
	nil, // 16: protobuf_test_messages.editions.TestAllTypesEdition2023.MapSfixed64Sfixed64Entry
	nil, // 17: protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt32FloatEntry
	nil, // 18: protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt32DoubleEntry
	nil, // 19: protobuf_test_messages.editions.TestAllTypesEdition2023.MapBoolBoolEntry
	nil, // 20: protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringStringEntry
	nil, // 21: protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringBytesEntry
	nil, // 22: protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringNestedMessageEntry
	nil, // 23: protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringForeignMessageEntry
	nil, // 24: protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringNestedEnumEntry
	nil, // 25: protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringForeignEnumEntry
	(*TestAllTypesEdition2023_GroupLikeType)(nil), // 26: protobuf_test_messages.editions.TestAllTypesEdition2023.GroupLikeType
}
var file_conformance_test_protos_test_messages_edition2023_proto_depIdxs = []int32{
	6,  // 0: protobuf_test_messages.editions.TestAllTypesEdition2023.optional_nested_message:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.NestedMessage
	4,  // 1: protobuf_test_messages.editions.TestAllTypesEdition2023.optional_foreign_message:type_name -> protobuf_test_messages.editions.ForeignMessageEdition2023
	1,  // 2: protobuf_test_messages.editions.TestAllTypesEdition2023.optional_nested_enum:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnum
	0,  // 3: protobuf_test_messages.editions.TestAllTypesEdition2023.optional_foreign_enum:type_name -> protobuf_test_messages.editions.ForeignEnumEdition2023
	3,  // 4: protobuf_test_messages.editions.TestAllTypesEdition2023.recursive_message:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023
	6,  // 5: protobuf_test_messages.editions.TestAllTypesEdition2023.repeated_nested_message:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.NestedMessage
	4,  // 6: protobuf_test_messages.editions.TestAllTypesEdition2023.repeated_foreign_message:type_name -> protobuf_test_messages.editions.ForeignMessageEdition2023
	1,  // 7: protobuf_test_messages.editions.TestAllTypesEdition2023.repeated_nested_enum:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnum
	0,  // 8: protobuf_test_messages.editions.TestAllTypesEdition2023.repeated_foreign_enum:type_name -> protobuf_test_messages.editions.ForeignEnumEdition2023
	1,  // 9: protobuf_test_messages.editions.TestAllTypesEdition2023.packed_nested_enum:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnum
	1,  // 10: protobuf_test_messages.editions.TestAllTypesEdition2023.unpacked_nested_enum:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnum
	7,  // 11: protobuf_test_messages.editions.TestAllTypesEdition2023.map_int32_int32:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt32Int32Entry
	8,  // 12: protobuf_test_messages.editions.TestAllTypesEdition2023.map_int64_int64:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt64Int64Entry
	9,  // 13: protobuf_test_messages.editions.TestAllTypesEdition2023.map_uint32_uint32:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapUint32Uint32Entry
	10, // 14: protobuf_test_messages.editions.TestAllTypesEdition2023.map_uint64_uint64:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapUint64Uint64Entry
	11, // 15: protobuf_test_messages.editions.TestAllTypesEdition2023.map_sint32_sint32:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapSint32Sint32Entry
	12, // 16: protobuf_test_messages.editions.TestAllTypesEdition2023.map_sint64_sint64:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapSint64Sint64Entry
	13, // 17: protobuf_test_messages.editions.TestAllTypesEdition2023.map_fixed32_fixed32:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapFixed32Fixed32Entry
	14, // 18: protobuf_test_messages.editions.TestAllTypesEdition2023.map_fixed64_fixed64:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapFixed64Fixed64Entry
	15, // 19: protobuf_test_messages.editions.TestAllTypesEdition2023.map_sfixed32_sfixed32:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapSfixed32Sfixed32Entry
	16, // 20: protobuf_test_messages.editions.TestAllTypesEdition2023.map_sfixed64_sfixed64:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapSfixed64Sfixed64Entry
	17, // 21: protobuf_test_messages.editions.TestAllTypesEdition2023.map_int32_float:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt32FloatEntry
	18, // 22: protobuf_test_messages.editions.TestAllTypesEdition2023.map_int32_double:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapInt32DoubleEntry
	19, // 23: protobuf_test_messages.editions.TestAllTypesEdition2023.map_bool_bool:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapBoolBoolEntry
	20, // 24: protobuf_test_messages.editions.TestAllTypesEdition2023.map_string_string:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringStringEntry
	21, // 25: protobuf_test_messages.editions.TestAllTypesEdition2023.map_string_bytes:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringBytesEntry
	22, // 26: protobuf_test_messages.editions.TestAllTypesEdition2023.map_string_nested_message:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringNestedMessageEntry
	23, // 27: protobuf_test_messages.editions.TestAllTypesEdition2023.map_string_foreign_message:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringForeignMessageEntry
	24, // 28: protobuf_test_messages.editions.TestAllTypesEdition2023.map_string_nested_enum:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringNestedEnumEntry
	25, // 29: protobuf_test_messages.editions.TestAllTypesEdition2023.map_string_foreign_enum:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringForeignEnumEntry
	6,  // 30: protobuf_test_messages.editions.TestAllTypesEdition2023.oneof_nested_message:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.NestedMessage
	1,  // 31: protobuf_test_messages.editions.TestAllTypesEdition2023.oneof_enum:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnum
	26, // 32: protobuf_test_messages.editions.TestAllTypesEdition2023.groupliketype:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.GroupLikeType
	26, // 33: protobuf_test_messages.editions.TestAllTypesEdition2023.delimited_field:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.GroupLikeType
	3,  // 34: protobuf_test_messages.editions.TestAllTypesEdition2023.NestedMessage.corecursive:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023
	6,  // 35: protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringNestedMessageEntry.value:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.NestedMessage
	4,  // 36: protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringForeignMessageEntry.value:type_name -> protobuf_test_messages.editions.ForeignMessageEdition2023
	1,  // 37: protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringNestedEnumEntry.value:type_name -> protobuf_test_messages.editions.TestAllTypesEdition2023.NestedEnum
	0,  // 38: protobuf_test_messages.editions.TestAllTypesEdition2023.MapStringForeignEnumEntry.value:type_name -> protobuf_test_messages.editions.ForeignEnumEdition2023
	3,  // 39: protobuf_test_messages.editions.extension_int32:extendee -> protobuf_test_messages.editions.TestAllTypesEdition2023
	3,  // 40: protobuf_test_messages.editions.groupliketype:extendee -> protobuf_test_messages.editions.TestAllTypesEdition2023
	3,  // 41: protobuf_test_messages.editions.delimited_ext:extendee -> protobuf_test_messages.editions.TestAllTypesEdition2023
	5,  // 42: protobuf_test_messages.editions.groupliketype:type_name -> protobuf_test_messages.editions.GroupLikeType
	5,  // 43: protobuf_test_messages.editions.delimited_ext:type_name -> protobuf_test_messages.editions.GroupLikeType
	44, // [44:44] is the sub-list for method output_type
	44, // [44:44] is the sub-list for method input_type
	42, // [42:44] is the sub-list for extension type_name
	39, // [39:42] is the sub-list for extension extendee
	0,  // [0:39] is the sub-list for field type_name
}

func init() { file_conformance_test_protos_test_messages_edition2023_proto_init() }
func file_conformance_test_protos_test_messages_edition2023_proto_init() {
	if File_conformance_test_protos_test_messages_edition2023_proto != nil {
		return
	}
	file_conformance_test_protos_test_messages_edition2023_proto_msgTypes[1].OneofWrappers = []any{
		(*TestAllTypesEdition2023_OneofUint32)(nil),
		(*TestAllTypesEdition2023_OneofNestedMessage)(nil),
		(*TestAllTypesEdition2023_OneofString)(nil),
		(*TestAllTypesEdition2023_OneofBytes)(nil),
		(*TestAllTypesEdition2023_OneofBool)(nil),
		(*TestAllTypesEdition2023_OneofUint64)(nil),
		(*TestAllTypesEdition2023_OneofFloat)(nil),
		(*TestAllTypesEdition2023_OneofDouble)(nil),
		(*TestAllTypesEdition2023_OneofEnum)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_conformance_test_protos_test_messages_edition2023_proto_rawDesc), len(file_conformance_test_protos_test_messages_edition2023_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   25,
			NumExtensions: 3,
			NumServices:   0,
		},
		GoTypes:           file_conformance_test_protos_test_messages_edition2023_proto_goTypes,
		DependencyIndexes: file_conformance_test_protos_test_messages_edition2023_proto_depIdxs,
		EnumInfos:         file_conformance_test_protos_test_messages_edition2023_proto_enumTypes,
		MessageInfos:      file_conformance_test_protos_test_messages_edition2023_proto_msgTypes,
		ExtensionInfos:    file_conformance_test_protos_test_messages_edition2023_proto_extTypes,
	}.Build()
	File_conformance_test_protos_test_messages_edition2023_proto = out.File
	file_conformance_test_protos_test_messages_edition2023_proto_goTypes = nil
	file_conformance_test_protos_test_messages_edition2023_proto_depIdxs = nil
}
