refactor: use slices.Contains to simplify code

Signed-off-by: vastonus <vastonus@outlook.com>
This commit is contained in:
vastonus 2025-10-16 17:25:54 +08:00
parent ed672b2bc9
commit d85f97714e
1 changed files with 4 additions and 5 deletions

View File

@ -17,6 +17,7 @@ import (
"net"
"os"
"regexp"
"slices"
"sort"
"strings"
@ -450,12 +451,10 @@ func makeTemplate(md *desc.MessageDescriptor, path []*desc.MessageDescriptor) pr
dm := dynamic.NewMessage(md)
// if the message is a recursive structure, we don't want to blow the stack
for _, seen := range path {
if seen == md {
if slices.Contains(path, md) {
// already visited this type; avoid infinite recursion
return dm
}
}
path = append(path, dm.GetMessageDescriptor())
// for repeated fields, add a single element with default value