diff --git a/go/src/miller/dsl/cst/lvalues.go b/go/src/miller/dsl/cst/lvalues.go index bf435e2f4..8e3e62491 100644 --- a/go/src/miller/dsl/cst/lvalues.go +++ b/go/src/miller/dsl/cst/lvalues.go @@ -869,6 +869,9 @@ func (this *IndexedLvalueNode) Assign( for i, indexEvaluable := range this.indexEvaluables { index := indexEvaluable.Evaluate(state) indices[i] = &index + if index.IsAbsent() { + return nil + } } // This lets the user do '$y[ ["a", "b", "c"] ] = $x' in lieu of