diff options
| -rw-r--r-- | pkg/lang/vm/value/value.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pkg/lang/vm/value/value.go b/pkg/lang/vm/value/value.go index e2750f4..21cf962 100644 --- a/pkg/lang/vm/value/value.go +++ b/pkg/lang/vm/value/value.go @@ -177,7 +177,9 @@ func (v Value) Clone(m mem.Mem) (Value, error) { func (v Value) Drop(m mem.Mem) error { // If value has an outlet, don't drop it and instead move it to the outlet. if !v.outlet.IsNull() { - return m.Set(v.outlet, OutletCell(v)) + outlet := v.outlet + v.outlet = mem.NullPtr // Reset outlet to null + return m.Set(outlet, OutletCell(v)) } if v.t == StringType { |
