File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed
Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -233,9 +233,15 @@ let expr sub x =
233233 | Texp_setfield (exp1 , lid , ld , exp2 ) ->
234234 Texp_setfield (sub.expr sub exp1, lid, ld, sub.expr sub exp2)
235235 | Texp_index (exp1 , exp2 ) ->
236- Texp_index (sub.expr sub exp1, sub.expr sub exp2)
236+ (* Use let bindings to ensure left-to-right evaluation order *)
237+ let exp1 = sub.expr sub exp1 in
238+ let exp2 = sub.expr sub exp2 in
239+ Texp_index (exp1, exp2)
237240 | Texp_setindex (exp1 , exp2 , exp3 ) ->
238- Texp_setindex (sub.expr sub exp1, sub.expr sub exp2, sub.expr sub exp3)
241+ let exp1 = sub.expr sub exp1 in
242+ let exp2 = sub.expr sub exp2 in
243+ let exp3 = sub.expr sub exp3 in
244+ Texp_setindex (exp1, exp2, exp3)
239245 | Texp_array list -> Texp_array (List. map (sub.expr sub) list )
240246 | Texp_ifthenelse (exp1 , exp2 , expo ) ->
241247 Texp_ifthenelse
You can’t perform that action at this time.
0 commit comments