We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent e429ee6 commit 5d00292Copy full SHA for 5d00292
desc/protoprint/print.go
@@ -2137,11 +2137,20 @@ func (a elementAddrs) Less(i, j int) bool {
2137
return vi.GetNumber() < vj.GetNumber()
2138
2139
case *desc.EnumValueDescriptor:
2140
- // enum values ordered by number then name
+ // enum values ordered by number then name,
2141
+ // but first value number must be 0 in proto3
2142
vj := dj.(*desc.EnumValueDescriptor)
2143
if vi.GetNumber() == vj.GetNumber() {
2144
return vi.GetName() < vj.GetName()
2145
}
2146
+ if vi.GetFile().IsProto3() {
2147
+ if vj.GetNumber() == 0 {
2148
+ return false
2149
+ }
2150
+ if vi.GetNumber() == 0 {
2151
+ return true
2152
2153
2154
2155
2156
case *descriptorpb.DescriptorProto_ExtensionRange:
0 commit comments