summaryrefslogtreecommitdiff
path: root/src/lem_interp/interp.lem
diff options
context:
space:
mode:
Diffstat (limited to 'src/lem_interp/interp.lem')
-rw-r--r--src/lem_interp/interp.lem3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lem_interp/interp.lem b/src/lem_interp/interp.lem
index 50e37cf2..085e2fe2 100644
--- a/src/lem_interp/interp.lem
+++ b/src/lem_interp/interp.lem
@@ -334,9 +334,10 @@ val list_length : forall 'a . list 'a -> integer
let list_length l = integerFromNat (List.length l)
val taint: value -> list reg_form -> value
-let taint value regs =
+let rec taint value regs =
match value with
| V_track value rs -> V_track value (regs ++ rs)
+ | V_tuple vals -> V_tuple (List.map (fun v -> taint v regs) vals)
| _ -> V_track value regs
end