diff options
Diffstat (limited to 'pkg/compiler')
| -rw-r--r-- | pkg/compiler/check.go | 2 | ||||
| -rw-r--r-- | pkg/compiler/compiler_test.go | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/pkg/compiler/check.go b/pkg/compiler/check.go index eb57228ca..adf6f4e9d 100644 --- a/pkg/compiler/check.go +++ b/pkg/compiler/check.go @@ -942,7 +942,7 @@ func (comp *compiler) instantiate(templ ast.Node, params []*ast.Ident, args []*a } argUsed := make(map[string]bool) err0 := comp.errors - templ.Walk(ast.Recursive(func(n ast.Node) { + templ.Walk(ast.PostRecursive(func(n ast.Node) { templArg, ok := n.(*ast.Type) if !ok { return diff --git a/pkg/compiler/compiler_test.go b/pkg/compiler/compiler_test.go index 8f10ac586..4ea5b2721 100644 --- a/pkg/compiler/compiler_test.go +++ b/pkg/compiler/compiler_test.go @@ -201,6 +201,11 @@ l t type D[e]l`, "E", "#", + ` +type p b[L] +type b[L] { + e b[L[L]] +}`, } { Fuzz([]byte(data)[:len(data):len(data)]) } |
