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