From cf3b953228c0f61c439d9c1100b49bafcedc366c Mon Sep 17 00:00:00 2001 From: David Kemsley Date: Mon, 15 Aug 2022 23:03:05 +1000 Subject: [PATCH] Avoid exception for immutable list from folded * Added check to avoid error thrown when returning a immutable list from a function called by a comprehension expression --- interpreter/interpretable.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/interpreter/interpretable.go b/interpreter/interpretable.go index 324edcca..4fdd1202 100644 --- a/interpreter/interpretable.go +++ b/interpreter/interpretable.go @@ -835,7 +835,9 @@ func (fold *evalFold) Eval(ctx Activation) ref.Val { varActivationPool.Put(accuCtx) // Convert a mutable list to an immutable one, if the comprehension has generated a list as a result. if !types.IsUnknownOrError(res) && buildingList { - res = res.(traits.MutableLister).ToImmutableList() + if _, ok := res.(traits.MutableLister); ok { + res = res.(traits.MutableLister).ToImmutableList() + } } return res }