浏览代码

make sure String + _ and _ + String are typed as String (fixed issue #891)

Simon Krajewski 13 年之前
父节点
当前提交
60ae0da72d
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      typer.ml

+ 3 - 1
typer.ml

@@ -917,6 +917,7 @@ let rec type_binop ctx op e1 e2 p =
 	let e2 = type_expr ctx e2 in
 	let tint = ctx.t.tint in
 	let tfloat = ctx.t.tfloat in
+	let tstring = ctx.t.tstring in
 	let to_string e = 
 		match classify e.etype with
 		| KUnk | KDyn | KParam _ | KOther -> 
@@ -956,9 +957,10 @@ let rec type_binop ctx op e1 e2 p =
 			unify ctx e2.etype e1.etype e2.epos;
 			e2.etype
 		| _ , KString
+		| KString , _ ->
+			tstring			
 		| _ , KDyn ->
 			e2.etype
-		| KString , _
 		| KDyn , _ ->
 			e1.etype
 		| KUnk , KUnk ->