|
@@ -250,7 +250,7 @@ let rec using_field ctx mode e i p =
|
|
begin match follow t with
|
|
begin match follow t with
|
|
| TFun((_,_,(TType({t_path = ["haxe";"macro"],"ExprOf"},[t0]) | t0)) :: args,r) ->
|
|
| TFun((_,_,(TType({t_path = ["haxe";"macro"],"ExprOf"},[t0]) | t0)) :: args,r) ->
|
|
if is_dynamic && follow t0 != t_dynamic then raise Not_found;
|
|
if is_dynamic && follow t0 != t_dynamic then raise Not_found;
|
|
- Type.unify e.etype t0;
|
|
|
|
|
|
+ let e = AbstractCast.cast_or_unify_raise ctx t0 e p in
|
|
(* early constraints check is possible because e.etype has no monomorphs *)
|
|
(* early constraints check is possible because e.etype has no monomorphs *)
|
|
List.iter2 (fun m (name,t) -> match follow t with
|
|
List.iter2 (fun m (name,t) -> match follow t with
|
|
| TInst ({ cl_kind = KTypeParameter constr },_) when constr <> [] && not (has_mono m) ->
|
|
| TInst ({ cl_kind = KTypeParameter constr },_) when constr <> [] && not (has_mono m) ->
|