瀏覽代碼

allow Array<Dynamic> inference in type_expr unless -D haxe3 is set (fixed issue #956)

Simon Krajewski 13 年之前
父節點
當前提交
882df14260
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      typer.ml

+ 1 - 1
typer.ml

@@ -1742,7 +1742,7 @@ and type_expr ctx ?(need_val=true) (e,p) =
 		mk (TObjectDecl (List.rev fields)) (TAnon { a_fields = types; a_status = x }) p
 		mk (TObjectDecl (List.rev fields)) (TAnon { a_fields = types; a_status = x }) p
 	| EArrayDecl el ->
 	| EArrayDecl el ->
 		let el = List.map (type_expr ctx) el in
 		let el = List.map (type_expr ctx) el in
-		let t = unify_min ctx el in
+		let t = try unify_min_raise ctx el with Error (Unify l,p) -> if Common.defined ctx.com "haxe3" then raise (Error (Unify l, p)) else t_dynamic in
 		mk (TArrayDecl el) (ctx.t.tarray t) p
 		mk (TArrayDecl el) (ctx.t.tarray t) p
 	| EVars vl ->
 	| EVars vl ->
 		let vl = List.map (fun (v,t,e) ->
 		let vl = List.map (fun (v,t,e) ->