DiscardUnknown recursively discards all unknown fields from this message and all embedded messages. When unmarshaling a message with unrecognized fields, the tags and values of such fields are preserved in the Message. This allows a later call to marshal to be able to produce a message that continu
(m Message)
| 17 | // unrecognized fields. To avoid this, DiscardUnknown is used to |
| 18 | // explicitly clear the unknown fields after unmarshaling. |
| 19 | func DiscardUnknown(m Message) { |
| 20 | if m != nil { |
| 21 | discardUnknown(MessageReflect(m)) |
| 22 | } |
| 23 | } |
| 24 | |
| 25 | func discardUnknown(m protoreflect.Message) { |
| 26 | m.Range(func(fd protoreflect.FieldDescriptor, val protoreflect.Value) bool { |