From 98c99af3492b90fdf3fbf8b9ecbb5e0cb9c97e10 Mon Sep 17 00:00:00 2001 From: Sai Asish Y Date: Mon, 25 May 2026 15:53:46 -0700 Subject: [PATCH] fix: don't propagate field tags into slice/array/map element decoders Signed-off-by: Sai Asish Y --- gen/decoder.go | 6 +++--- tests/basic_test.go | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gen/decoder.go b/gen/decoder.go index 2af6aaf..26042cd 100644 --- a/gen/decoder.go +++ b/gen/decoder.go @@ -195,7 +195,7 @@ func (g *Generator) genTypeDecoderNoCheck(t reflect.Type, out string, tags field fmt.Fprintln(g.out, ws+" for !in.IsDelim(']') {") fmt.Fprintln(g.out, ws+" var "+tmpVar+" "+g.getType(elem)) - if err := g.genTypeDecoder(elem, tmpVar, tags, indent+2); err != nil { + if err := g.genTypeDecoder(elem, tmpVar, fieldTags{}, indent+2); err != nil { return err } @@ -229,7 +229,7 @@ func (g *Generator) genTypeDecoderNoCheck(t reflect.Type, out string, tags field fmt.Fprintln(g.out, ws+" for !in.IsDelim(']') {") fmt.Fprintln(g.out, ws+" if "+iterVar+" < "+fmt.Sprint(length)+" {") - if err := g.genTypeDecoder(elem, "("+out+")["+iterVar+"]", tags, indent+3); err != nil { + if err := g.genTypeDecoder(elem, "("+out+")["+iterVar+"]", fieldTags{}, indent+3); err != nil { return err } @@ -312,7 +312,7 @@ func (g *Generator) genTypeDecoderNoCheck(t reflect.Type, out string, tags field fmt.Fprintln(g.out, ws+" in.WantColon()") fmt.Fprintln(g.out, ws+" var "+tmpVar+" "+g.getType(elem)) - if err := g.genTypeDecoder(elem, tmpVar, tags, indent+2); err != nil { + if err := g.genTypeDecoder(elem, tmpVar, fieldTags{}, indent+2); err != nil { return err } diff --git a/tests/basic_test.go b/tests/basic_test.go index cdc7e8a..7a5f437 100644 --- a/tests/basic_test.go +++ b/tests/basic_test.go @@ -39,6 +39,7 @@ var testCases = []struct { {&arrayValue, arrayString}, {&mapsValue, mapsString}, {&deepNestValue, deepNestString}, + {&deepNestOptionalValue, deepNestOptionalString}, {&IntsValue, IntsString}, {&mapStringStringValue, mapStringStringString}, {&namedTypeValue, namedTypeValueString},