diff --git a/internal/binder/binder.go b/internal/binder/binder.go index 3dc5ad31e8..2df4615ac4 100644 --- a/internal/binder/binder.go +++ b/internal/binder/binder.go @@ -584,7 +584,7 @@ func (b *Binder) bind(node *ast.Node) bool { if node == nil { return false } - if node.Parent == nil || node.Parent.Flags&ast.NodeFlagsReparsed != 0 { + if node.Parent == nil || (node.Parent != b.parent && node.Parent.Flags&ast.NodeFlagsReparsed != 0) { node.Parent = b.parent } saveInStrictMode := b.inStrictMode