فهرست منبع

add another missing recursion

Simon Krajewski 11 سال پیش
والد
کامیت
f11f11b5ee
1فایلهای تغییر یافته به همراه1 افزوده شده و 2 حذف شده
  1. 1 2
      optimizer.ml

+ 1 - 2
optimizer.ml

@@ -1140,7 +1140,7 @@ let inline_constructors ctx e =
 				{e with eexpr = TBlock (List.rev n)}
 			| TVar (v,Some e) when v.v_id < 0 ->
 				let (vars, _),el_init = PMap.find (-v.v_id) vfields in
-				el_b := el_init @ !el_b;
+				el_b := (List.map subst el_init) @ !el_b;
 				let (v_first,e_first),vars = match vars with
 					| v :: vl -> v,vl
 					| [] -> assert false
@@ -1149,7 +1149,6 @@ let inline_constructors ctx e =
 				mk (TVar (v_first, Some (subst e_first))) ctx.t.tvoid e.epos
 			| TField ({ eexpr = TLocal v },FInstance (_,cf)) when v.v_id < 0 ->
 				let (_, vars),el_init = PMap.find (-v.v_id) vfields in
-				el_b := el_init @ !el_b;
 				(try
 					let v = PMap.find cf.cf_name vars in
 					mk (TLocal v) v.v_type e.epos